Determinar qué aplicación posee un ícono en mi pantalla de inicio

Relacionado:

¿Cómo puedo determinar qué aplicación puso un acceso directo de spam en mi pantalla de inicio?

¿Cómo puedo eliminar los iconos de aplicaciones no deseadas de la pantalla?

Leí que una de las respuestas sugiere instalar TrustGo Ad Detector. Sin embargo, me gustaría saber si es posible determinar qué aplicación creó un ícono de iniciador o acceso directo usando las herramientas de programación que vienen con el SDK de Android, como adb?

Actualizar:

Instalé y ejecuté un escaneo con TrustGo Ad Detector. Informó 0 aplicaciones que instalan accesos directos en mi pantalla de inicio.

Respuestas (1)

Determinar qué aplicación posee un ícono en mi pantalla de inicio

No puedo estar seguro de que definitivamente funcione en su caso, pero una forma de averiguar los detalles sobre un acceso directo es ver las entradas relevantes en la base de datos de su aplicación de inicio.

Por ejemplo, si el acceso directo aparece en mi pantalla de inicio cuando el iniciador nativo de Android ( com.android.launcher) está activo, procedería a ver el contenido en formato /data/data/com.android.launcher/databases/launcher.db. El problema es que un usuario normal no puede acceder /data/datadirectamente sin acceso de root.

  • Dado que la pregunta exige el uso adbsolo, sugeriría realizar una copia de seguridad de la aplicación de inicio y extraer la .abcopia de seguridad con Android Backup Extractor . Ahora puedes acceder launcher.dbdesde él. Uso el navegador DB para SQLite para abrir el .dbarchivo.

  • Los usuarios con acceso raíz pueden utilizar adb pull <SOURCE> <TARGET>para obtener el archivo correspondiente. También puede probar SQLite Editor .

La ubicación de las entradas de acceso directo puede diferir entre los lanzadores.

  • En mi lanzador nativo de Android y Nova Launcher , las entradas están en la tabla favoritesrespectivamente.
  • Smart Launcher los tiene en la mesa flowerBubble.

Una vez que esté dentro de la tabla relevante, busque su acceso directo debajo de la columna titley vea todos los valores de columna correspondientes allí.

En mis hallazgos, los accesos directos personalizados tenían iconTypeun valor mayor que 0, y para algunos accesos directos personalizados iconPackagetenían iconResourcevalores como el nombre de la aplicación y el recurso cuyo icono se muestra.

Tenga en cuenta que mis hallazgos solo se basan en los tres lanzadores mencionados anteriormente y es posible que su lanzador no refleje un patrón similar.

[¿Es] posible determinar qué aplicación creó un ícono de inicio o acceso directo [en mi pantalla de inicio]?

Me he reservado las dudas de si esto es realmente posible. Como ya está claro, los accesos directos de la pantalla de inicio (a diferencia de GNU/Linux tradicional) no son enlaces simbólicos, ya que su estructura varía de un lanzador a otro y, por lo general, no se pueden llamar o ejecutar a menos que el lanzador esté activo (posiblemente porque el lanzador principal solo puede saber si la entrada debe tratarse como acceso directo o no).

Según mis hallazgos, mi respuesta sería no , no puede determinar qué aplicación creó el acceso directo en la pantalla de inicio.