MICHELEPISANI.IT
 

Recuperare il valore di versionName e versionCode in maniera programmatica

Determinare il versionCode ed il versionName a runtime da codice

August 30
07:332015

Tramite il metodo getPackageInfo(java.lang.String, int) di PackageManager è possibile risalire a runtime ad alcune informazioni del package tra cui il versionCode, il versionName ed i permessi.
L'utilizzo di tale metodo può essere utile in diverse situazioni, una tra quelle che mi vegono in mente può senz'altro essere, nel caso di modifiche ad una chiamata ad un webservice in una versione aggiornata dell'app, quella di passare determinati parametri, o chiamare una pagina diversa, se il versionCode risulta essere quello della versione più recente dell'applicazione mentre lasciarli invariato il codice per versioni precedenti onde evitare crash indesiderati.
Ci sono tutta una serie di altri motivi per cui può nascere la necessità di conoscere a runtime il versionCode ed il versionName, voi sicuramente avrete il vostro pertanto riporto di seguito la porzione di codice, testata e funzionante, che può fornirvi tali informazioni:

Context context = getApplicationContext();
PackageManager packageManager = context.getPackageManager();
String packageName = context.getPackageName();

String versionName = "non disponibile";

try {
   versionName = packageManager.getPackageInfo(packageName, 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
   e.printStackTrace();
}

Integer versionCode = 0;

try {
   versionCode = packageManager.getPackageInfo(packageName, 0).versionCode;
} catch (PackageManager.NameNotFoundException e) {
   e.printStackTrace();
}

Toast.makeText(this, "versionName:" + versionName + "; versionCode:" + versionCode, Toast.LENGTH_LONG).show();

Potete utilizzarla così com'è, ad esempio nell'onCreate() o inserirla in una funzione.

Tags

Autore

Michele Pisani

Michele Pisani

Ho uno spiccato orientamento al problem-solving, se è troppo facile non mi diverto :)
Credo nella volontà e nel cambiamento perchè hanno fatto della mia passione il mio pane quotidiano.
Se devo descrivermi con una sola parola direi... "Concretezza", la mia stretta di mano è una garanzia.

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

Scrivi un Commento

Scrivi un Commento

Il tuo indirizzo email non sarà pubblicato.
I campi contrassegnati da un * sono obbligatori

Articoli e Argomenti correlati

Il Canale YouTube in ITALIANO

1 VIDEO GRATIS ogni 2 settimane! ISCRIVITI!

Entra a far parte della community su Facebook

Categorie popolari

Iscriviti alla mia newsletter

La tua e-mail con me sarà al sicuro.
Non fornirò mai le tue informazioni a nessuno!

Ultimi commenti

Michele Pisani

Hai verificato se succede per tutte le pagine da un certo periodo di tempo in poi o solo su alcune?

Tecnowiz

Sono amministratore di un blog pure io... Intanto ti faccio i complimenti per questo articolo. …

Michele Pisani

Ciao Antonio, grazie per la fiducia :) In caso di più fogli è necessario inserire il codice del …

Antonio

Ciao Michele, ho acquistato il tuo libro che unitamente ai tuoi video sta diventando il mio corso …