¿Cómo puedo contar la cantidad de veces que cada aplicación se ha ejecutado en un dispositivo Android?

Un proceso paso a paso aproximado sería:

  • Cree una base de datos local de Android SQLite en la aplicación.
  • El siguiente paso sería obtener una lista de todas las aplicaciones instaladas en el dispositivo. Puede hacerlo utilizando el Administrador de paquetes de Android que tiene getInstalledApplications () .

Aquí está el código:

PackageManager pm = getPackageManager ();
Lista paquetes = pm.getInstalledApplications (PackageManager.GET_META_DATA);

para (ApplicationInfo packageInfo: paquetes) {
Log.d (“Aplicaciones instaladas”, “Paquete instalado:” + packageInfo.packageName + “Actividad de lanzamiento:” + pm.getLaunchIntentForPackage (packageInfo.packageName));
}

La salida tiene nombres de paquetes y actividades de iniciador (los necesitará para crear accesos directos de inicio de aplicaciones) de todas las aplicaciones instaladas.
Una vez que tenga los nombres de los paquetes y las actividades del iniciador, guárdelos en la base de datos.

  • El último paso sería obtener una lista de las aplicaciones lanzadas recientemente por el usuario para que podamos incrementar el contador en la base de datos para la cantidad de invocaciones de esa aplicación. Activity Manager tiene la función getRecentTasks () que puede proporcionarle la información requerida.

El código sería:

ActivityManager activityManager = (ActivityManager) getSystemService (Context.ACTIVITY_SERVICE);
Lista RecentTasks = activityManager.getRecentTasks (Integer.MAX_VALUE, ActivityManager.RECENT_WITH_EXCLUDED);

para (int i = 0; i <RecentTasks.size (); i ++)
{

String LocalApp = RecentTasks.get (i) .baseIntent.toString ();
int indexPackageNameBegin = LocalApp.indexOf (“cmp =”) + 4;
int indexPackageNameEnd = LocalApp.indexOf (“/”, indexPackageNameBegin);
String pckge = LocalApp.substring (indexPackageNameBegin, indexPackageNameEnd);
Log.d (“Aplicación ejecutada”, “Aplicación ejecutada:” + paquete);
}

La salida será nombres de paquetes de aplicaciones invocadas con frecuencia.
Debe colocar de alguna manera este código en un servicio en segundo plano y seguir actualizando la base de datos utilizando temporizadores de vez en cuando, lo cual es un proceso un poco complejo para explicar aquí.
Referencias
PackageManager | Desarrolladores de Android
ActivityManager | Desarrolladores de Android

Ahora Google ha creado uno de los mejores soportes para los desarrolladores.

Use el análisis de la consola Google Firebase. Google, es un código simple e integre en su aplicación y tendrá una gran cantidad de datos, más de lo que puede imaginar. Es como Google Analytics, pero trata con la aplicación de Android y tendrá todas sus preguntas respondidas.

Neerav

Electrical Study Quiz – MCQ – Aplicaciones de Android en Google Play