¿Cómo detectar si la Google Play Store está descargando / instalando una aplicación específica?
Muchas aplicaciones proporcionan recomendaciones para instalar otras aplicaciones hechas por el desarrollador o los socios del desarrollador. Las recomendaciones son solo enlaces a Play Store desde donde se puede instalar la aplicación recomendada.
No quiero proporcionar una recomendación para la aplicación X si:
- Esta aplicación no se ejecutará a menos que actualice el error de Google Play Services
- Error de entrada duplicada: com / google / android / gms / location / places / zzj.class
- Ubicación de Google Play No conectado. Llame a connect () y espere a que onConnected () se llame
- No se puede obtener el proveedor com.google.android.gms.measurement.AppMeasurementContentProvider
- Reducir la biblioteca de Google Play Services para usarla únicamente con Google Analytics
- La aplicación X ya está instalada
- App X está en proceso de instalación (por ejemplo, descargar en Google Play)
Detectar si X está instalado es fácil, pero no puedo encontrar ninguna API para leer el estado de descarga / instalación desde Google Play. ¿Hay alguna manera de detectar si el usuario está en proceso de instalar la aplicación X?
- La aplicación Google Play Top Charts ya no se clasifica en absoluto después de cambiar el título?
- Com.google.android.gms.plus.PlusOneButton falló al instanciar
- ¿Cómo puedo verificar la disponibilidad de API de Google Play Services? (Específicamente la API GCM)
- El diálogo de bloqueo inteligente de Google para guardar las credenciales no aparece al realizar pruebas
- Después de actualizar a los servicios de Google Play 8.4.0 mi aplicación se bloquea al iniciar
- Google Plus Android SDK: Error al inflar la clase com.google.android.gms.plus.PlusOneButton
- PlayServices ads library 7.5.0 necesita WRITE_EXTERNAL_STORAGE permiso
- Servicios de Google Play no disponibles debido al error 2
¿Hay alguna manera de detectar si el usuario está en proceso de instalar la aplicación X?
Lo más cercano que obtendrá es usar NotificationListenerService
.
De los documentos:
Servicio que recibe llamadas del sistema cuando se publican o eliminan nuevas notificaciones.
Sin embargo, teniendo en cuenta que este Service
se agregó recientemente en el nivel 18 de API y en su caso de uso, podría considerar utilizar BroadcastReceiver
y escuchar cuando se llaman android.intent.action.PACKAGE_ADDED
y android.intent.action.PACKAGE_REMOVED
. De esta manera, una vez que una aplicación se instala o se elimina, puede hacer lo que quiera con el nombre del paquete, como proporcionar un enlace a Play Store.
He aquí un ejemplo:
Receptor de radiodifusión
public class PackageChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent == null || intent.getData() == null) { return; } final String packageName = intent.getData().getSchemeSpecificPart(); // Do something with the package name } }
En tu AndroidManifest
<receiver android:name="your_path_to.PackageChangeReceiver" > <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter> </receiver>
Soy consciente de una manera de hacerlo. Sin embargo, requerirá que inicie la descarga desde una URL.
La simple idea detrás es usar
getContentLength()
Para ver la longitud del contenido de la aplicación en bytes.
Entonces, simplemente puede usar
YouInputStream.read(TheData)
Para ver el progreso de la descarga.
En realidad, hay una respuesta mucho más detallada sobre cómo hacer esto en Descargar un archivo con Android y mostrar el progreso en un ProgressDialog
En esa nota, tal vez usted puede obtener acceso al socket en el que se descarga la aplicación y luego seguir los mismos pasos de arriba. No tengo ninguna experiencia con este tho.
- ¿Necesito proporcionar imágenes con diferentes tamaños si lo recupero usando Picasso o Glide o Volley?
- Mostrar una barra de progreso continuo en la notificación, android?