Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Context.getPackageName () vs BuildConfig.APPLICATION_ID

Puedo recuperar el nombre del paquete usando:

Context.getPackageName() 

o

 BuildConfig.APPLICATION_ID 

¿Hay alguna diferencia entre esas dos maneras? ¿Se prefiere uno a otro en situaciones particulares? ¿Es seguro asumir que siempre dan el mismo resultado?

Básicamente, ¿ cuál es mejor ?

3 Solutions collect form web for “Context.getPackageName () vs BuildConfig.APPLICATION_ID”

BuildConfig es proporcionado por Gradle . Si no está construyendo utilizando Gradle entonces no podrá acceder al nombre del paquete utilizando BuildConfig .

El uso de Context para obtener el nombre del paquete puede no ser aplicable a veces si no hay contexto o el contexto es nulo, por lo que puede utilizar BuildConfig.APPLICATION_ID .

Context.getPackageName() porque el resultado se proporciona del sistema operativo, algo que una constante en parámetros de la estructura.

Utilicé getPackageName () antes – pero sólo uso BuildConfig.APPLICATION_ID desde que se hizo disponible. Debe ser más rápido, ya que es sólo una variable y no llamar – pero realmente no debería importar. También en las bibliotecas que utilizan getPackageName () puede ser necesario.

Podría ser posible utilizar ambos elementos como medida básica contra la manipulación de paquetes. En su aplicación puede insertar algún código como:

 if (!BuildConfig.APPLICATION_ID.equals(getPackageName())) { insert code to report information about tampering to remote server } 

En algún momento recibo informes extraños procedentes de alguna variante de mi aplicación que ha sido alterada añadiendo un prefijo o sufijo al nombre de paquete original

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.