Quiero saber cómo analizar el archivo AndroidManifest.xml para obtener el número de versión de la aplicación a través del código. androide: nombre de la versiónObtiene el elemento del manifiesto android: versionName en el código
Respuesta
No hay necesidad de analizar el archivo AndroidManifest.xml
para esto.
usted puede conseguir esto usando:
try
{
String app_ver = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName;
}
catch (NameNotFoundException e)
{
Log.e(tag, e.getMessage());
}
Utilice esta dentro de su método onCreate()
.
necesito comparar mi aplicación android: versionName con la aplicación en las descargas. mi aplicación no está en el mercado de Android ... necesito comparar la versionName en mi móvil con la disponible en el sitio para obtener la nueva versión y mostrar una alerta para actualizarla ... ¿cómo es posible obtener el nuevo número de versión de la aplicación? en el sitio web – jennifer
@jebbifer: Simplemente cree una solicitud 'Http Get' desde su aplicación y envíe este valor en los parámetros de esta solicitud. Y en su servidor necesita manejar esa solicitud y comparar los valores de la versión de la aplicación. Si es mayor que la aplicación del cliente, en respuesta, envíele un enlace para descargar la nueva versión de esa aplicación. –
Muy niiiice ++ –
En caso de que esto sea útil para cualquier otra persona, también puede acceder a los recursos @string
de AndroidManifest.xml como lo puede hacer con otros archivos xml.
Así, por ejemplo, en AndroidManifest.xml:
android:versionName="@string/app_versionName"
y en el código:
string versionName = getResources().getString(R.string.app_versionName);
De esta manera usted no necesita el (molesto, OMI) tratar declaración/catch. No estoy seguro si esta es una forma aprobada de hacer las cosas, pero tiene sentido para mí.
Buena solución :) – Janusz
podemos obtener el contenido manifiesto. –
solución genial! En lugar de editar cadena directamente desde el manifiesto, use un valor de cadena y edítelo; ¡entonces su código no cambiará! me gusta! +2: P –
Hasta ahora, he utilizado el siguiente fragmento de código del artículo y this éxito tiene el código de la versión y nombre de la versión de AndroidManifest.xml
/* Get android:versionName */
String versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
/* Get android:versionCode */
int versionCode = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
Amplíe su respuesta, ya que las respuestas de solo enlace no se consideran buenas en SO. –
Si está utilizando el estudio Android, el nombre de la versión está disponible en la clase BuildConfig. Esta clase se genera en tiempo de compilación:
String versionName = BuildConfig.VERSION_NAME;
Esta es la manera más limpia de recuperar el nombre de la versión.
¡Debería ser la respuesta aceptada! Muchas gracias – Phil
- 1. ¿Se requiere versionCode/versionName en el manifiesto de la biblioteca?
- 2. ¿Obtiene el índice del elemento actual en el bucle Powershell?
- 3. Obtiene el elemento ArrayList específico
- 4. Diferencia entre versionName y versionNumber en Android
- 5. Obtiene el elemento más largo en Dict
- 6. Obtiene el elemento/objeto donde se coloca el elemento
- 7. Actividad de Android, cómo anular el manifiesto de Android: configChanges con el código de Java?
- 8. Obtiene el elemento recién enfocado (si existe) del evento onBlur.
- 9. Obtiene el primer elemento secundario inmediato
- 10. Cómo hacer android: versionName en AndroidManifest.xml cambiado automáticamente en eclipse?
- 11. Obtiene elemento (s) WPF bajo el mouse
- 12. C# - Obtiene el elemento primario de ToolStripMenuItem
- 13. PHP obtiene el índice del último elemento insertado en el conjunto
- 14. Configuración de android: versionName como referencia al recurso de cadena conduce a NullPointerException bajo el emulador
- 15. Android obtiene el valor del botón de opción seleccionado
- 16. Obtiene el elemento dentro del elemento por clase e ID - JavaScript
- 17. Android Añadir <utiliza-función> en el manifiesto
- 18. Obtiene el último elemento en la lista de arrays
- 19. Usa acelerómetro en el manifiesto
- 20. ¿Es posible incluir/importar código al Manifiesto de Android?
- 21. Cambio de metadatos de manifiesto desde el código
- 22. Declarar actividad interna en el manifiesto de Android
- 23. ¿Cómo creo un intento navegable en el manifiesto de Android?
- 24. RAM Especificación de Android Market en el Manifiesto
- 25. ¿Hay alguna manera de verificar el permiso de manifiesto del código?
- 26. Obtiene el valor variable del código y lo usa en el control de página aspx
- 27. Obtiene el elemento más repetido en una secuencia con XQuery
- 28. Obtiene el primer elemento de QuerySet en la plantilla
- 29. GWT incluido el archivo javascript externo del manifiesto del módulo
- 30. Obtiene el objeto HttpServletRequest (solicitud) desde el código de Java
Puede obtener 'versionName' de su aplicación con' BuildConfig.VERSION_NAME' si está usando Gradle. Vea la respuesta aquí: http://stackoverflow.com/a/28352130/293280 –