Android: cambie la etiqueta de la aplicación programáticamente

¿Cómo puedo cambiar la etiqueta de la aplicación para cambiar el nombre de la aplicación que se muestra desde el código de Java en Android? Me refiero a:

 

en el Manifiesto de Android

¿Hay alguna manera de actualizar los valores en el archivo strings.xml ?

No es posible por el momento. Es una cadena fija en el archivo AndroidManifest.xml que no se puede cambiar en tiempo de ejecución.

en la actividad, lo intenté

 this.setTitle("your text"); 

Y funcionó. Espero que sea una solución común

Usando puede cambiar el ícono y el nombre de la aplicación a algunos predefinidos por usted.

Cree tales configuraciones en Mannifest.xml

                  

Ahora puede cambiar entre esos dos alias, por lo tanto, cambiaremos el icono o el nombre de la aplicación. Para pasar de Predeterminado a Flavor-One utiliza este código.

  getPackageManager().setComponentEnabledSetting( new ComponentName("package.name", "package.name.MainActivity-Flavor-One"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); getPackageManager().setComponentEnabledSetting( new ComponentName("package.name", "package.name.MainActivity-Default"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 

Tenga en cuenta que debe rastrear que solo se habilitará un alias a la vez

En Launcher Activity, Before setContentView() escribe esto,

 setTitle("Your Title"); 

No sé cómo es posible, pero seguramente funciona.

Android de la aplicación: la etiqueta es una referencia de recursos fijos.

Pero la cadena bajo este referente podría tener múltiples valores, dependiendo de los nombres de los calificadores de configuración (values-en, -large, -land, etc.), de acuerdo con Proporcionar recursos alternativos .

Para cualquier persona interesada: Android Cómo cambiar el título de la aplicación Pero no está claro si cambia la “etiqueta de la aplicación” (es decir, el nombre del icono en la lista de aplicaciones) o solo el título de la ventana.

Si está ampliando el firmware, puede lograrlo cambiando el archivo IconCache.java y hacer que muestre una cadena con algún valor interno del teléfono.

Por ejemplo, si desea que SIM Toolkit muestre el nombre del operador, puede hacerlo de esta manera.

Pero para las aplicaciones regulares, como se ha dicho, actualmente no es posible.

Como dijo el señor Smith, no es posible,

pero podría usar múltiples ActivityAlias , que pueden habilitarse / deshabilitarse dinámicamente y apuntar a la misma targetActivity. Por lo tanto, crea tu selector para el nombre de la aplicación: deja que el usuario seleccione uno y habilita los ActivityAlias través del packageManager :

 ComponentName componentName = new ComponentName(context, context.getPackageName() + "." + aliasName); context.getPackageManager().setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 

Para ocultar el alias anterior, use el mismo código con el indicador: COMPONENT_ENABLED_STATE_DISABLED

También puede agregar la posibilidad de agregar directamente un acceso directo al iniciador de inicio, después de habilitar el alias. Hay muchas maneras descritas aquí en la cerda.