MICHELEPISANI.IT
 

Recuperare il valore di versionName e versionCode in maniera programmatica

Determinare il versionCode ed il versionName a runtime da codice

Agosto 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
Condividi

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

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

Ciao peppe,
che tipo di errore ti dà? Hai verificato se il resto delle caratteristiche è …

peppe

Ciao, perchè non posso unire takeshy kurosawa con takeshy kurosawa shop? non sono nomi simili?

Michele Pisani

Grazie Ottavia, fa sempre piacere ricevere un feedback. Buon proseguimento.

Ottavia Neruda

La tua guida mi è stata utilissima. L'ho trovata semplice, ben fatta ed intuitiva. Grazie.