Determinar a qué aplicación pertenece un icono de mi pantalla de inicio
No puedo asegurar que funcione en tu caso, pero una forma de averiguar los detalles de un acceso directo es ver las entradas correspondientes en la base de datos de tu aplicación de lanzamiento.
Por ejemplo, si el acceso directo aparece en mi pantalla de inicio cuando el lanzador nativo de Android ( com.android.launcher
) está activo, entonces procedería a ver el contenido en /data/data/com.android.launcher/databases/launcher.db
. El problema es que un usuario normal no puede acceder /data/data
directamente sin acceso Root.
La ubicación de las entradas de acceso directo puede variar de un lanzador a otro.
Una vez dentro de la tabla correspondiente, busque su acceso directo en la columna title
y ver allí todos los valores de columna correspondientes.
Según mis averiguaciones, los atajos personalizados tenían iconType
mayor que 0
y para algunos atajos personalizados iconPackage
y iconResource
tenía como valores el nombre de la aplicación y el recurso cuyo icono se muestra.
Nota que mis conclusiones se basan únicamente en los tres lanzadores mencionados y su lanzador puede no reflejar un patrón similar.
[¿Es posible determinar qué aplicación ha creado un icono o acceso directo [en mi pantalla de inicio]?
Tengo dudas reservadas sobre si esto es realmente posible. Como está claro a estas alturas, los accesos directos de la pantalla de inicio no son (a diferencia del GNU/Linux tradicional) enlaces simbólicos, ya que su estructura varía de un lanzador a otro, y normalmente no pueden ser llamados o ejecutados a menos que el propio lanzador esté activo (posiblemente porque el lanzador padre sólo puede saber si la entrada debe ser tratada como acceso directo o no).
Basándome en mis conclusiones, mi respuesta sería no no puedes determinar qué aplicación creó el acceso directo en la pantalla de inicio.