Necesito detectar que mi aplicación está instalada desde google play u otro mercado, ¿cómo podría obtener esta información?¿Cómo saber si una aplicación está instalada desde google play o de carga lateral?
Respuesta
La clase PackageManager
proporciona el método getInstallerPackageName que le indicará el nombre del paquete de lo que haya instalado el paquete que especifique. Las aplicaciones cargadas lateralmente no contendrán un valor.
EDIT: Tenga en cuenta @mttmllns 'answer below con respecto a la tienda de aplicaciones de Amazon.
Y FYI apparently la última versión de la tienda de Amazon, finalmente, establece PackageManager.getInstallerPackageName()
a "com.amazon.venezia"
así contrastar con Google Play "com.android.vending"
.
No se puede hacer una referencia estática al método no estático getInstallerPackageName (String) del tipo PackageManager –
Cada tienda de aplicaciones tiene su propia aplicación de marke en Playstore que a su vez instala sus apks (paquetes). El gestor de paquetes getInstaller ...() devuelve el nombre del paquete de marketapp que instaló una aplicación determinada. P.ej. com.amazon.venezia es el nombre del paquete de amazon marketapp. Muy inteligente, porque entonces PlayStore puede controlar en qué marketapps se confía. Esto está diseñado para eventualmente prevenir TODAS las cargas secundarias que no sean de confianza. Al darse cuenta de que la adopción de las nuevas versiones del sistema operativo Android está disminuyendo drásticamente. KitKat podría convertirse en el estándar de facto. –
Puedo usar este código para comprobar si una acumulación ha sido descargado de una tienda o transferidos en forma paralela:
public static boolean isStoreVersion(Context context) {
boolean result = false;
try {
String installer = context.getPackageManager()
.getInstallerPackageName(context.getPackageName());
result = !TextUtils.isEmpty(installer);
} catch (Throwable e) {
}
return result;
}
- 1. ¿Cómo saber si una aplicación se descargó de Google Play o Amazon?
- 2. Detectar desde el navegador si está instalada una aplicación específica
- 3. Lista de instalada la aplicación desde Google Play contra la cuenta de Google
- 4. WIX: ¿Cómo detectar si está instalada una aplicación de terceros?
- 5. ¿Detecta una aplicación instalada o no?
- 6. Detectando si está instalada una base de datos Oracle
- 7. ¿Cómo saber si una extensión de Chrome está instalada por un usuario real o por mí durante el desarrollo?
- 8. ¿Cómo puedo saber cuánta memoria está físicamente instalada en Windows?
- 9. Desde la línea de comandos, ¿cómo saber qué versión de Firefox está instalada en Windows/Linux?
- 10. ¿Cómo verificar programáticamente si hay una aplicación instalada?
- 11. Mi aplicación no está disponible para tableta en Google play
- 12. Navegador iPhone: verificando si la aplicación iPhone está instalada desde el navegador
- 13. ¿Cómo puedo verificar si Windows Installer 3.1 o una versión superior está instalada?
- 14. ¿Cómo saber si la versión de depuración de flash está instalada?
- 15. ¿Detecta qué versión de una aplicación está instalada en iOS?
- 16. ¿Cómo saber si el usuario ha actualizado la aplicación o ha instalado una copia nueva?
- 17. Detectando programáticamente si hay una aplicación instalada en el iPhone
- 18. ¿Cómo puedo saber si NSTimer está activo o no?
- 19. Determinado mediante programación si está instalada una biblioteca COM (.DLL)
- 20. ¿Cómo saber si se compiló una aplicación .NET en modo DEBUG o RELEASE?
- 21. Cómo saber si el dispositivo está durmiendo
- 22. ¿Cómo puedo saber si mi aplicación se está ejecutando como una aplicación de 32 bits o de 64 bits?
- 23. Cómo saber si un usuario está visitando "/Default.aspx" o simplemente "/"
- 24. Cómo saber si node.js está instalado o no
- 25. ¿Cómo puedo saber si una aplicación de C# se inició desde el escritorio o desde el shell de cmd?
- 26. Aplicación de Python instalada e ID de cliente de Google
- 27. ¿Cómo puede saber programación si una macro de Word está firmado desde VB.Net/C#
- 28. Cómo saber si una página se está llamando a través de Ajax, o por su cuenta
- 29. ¿Cómo saber si el componente VBA de Office está instalado?
- 30. Usando C#, cómo saber si una carpeta está ubicada en una red o no
Funciona muy bien. – ttom
@AbhishekB ¿En qué versión de Android estás? ¿Estás en un emulador? – MattC
@AbhishekB No conozco una forma de encontrar el origen de las aplicaciones de carga lateral. No estoy seguro de cómo se rastrearía eso, ya que técnicamente es solo un archivo APK que se carga en el dispositivo en algún lugar y luego se instala a través de PackageManager. – MattC