Quería obtener la lista de todos los accesos directos instalados en el iniciador de la pantalla de inicio programáticamente. he encontrado un montón de fragmentos en línea, pero ninguno de ellos proporciona la salida derechaCómo obtener la lista de todos los accesos directos encontrados en el Iniciador de Inicio en Android
para este fragmento:
Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT);
ArrayList<Intent> intentList = new ArrayList<Intent>();
Intent intent=null;
String launchers="";
final PackageManager packageManager=getPackageManager();
for(final ResolveInfo resolveInfo:packageManager.queryIntentActivities(shortcutsIntent, 0)) {
launchers=launchers+"\n"+resolveInfo.activityInfo.packageName;
intent=packageManager
.getLaunchIntentForPackage(resolveInfo.activityInfo.packageName);
intentList.add(intent);
}
esto sólo proporciona los atajos predefinidos como contactos, navegadores, etc. no es exactamente lo que se encuentra en la pantalla de inicio.
mientras que este fragmento:
PackageManager pm = getPackageManager();
Intent i = new Intent("android.intent.action.MAIN");
i.addCategory("android.intent.category.HOME");
List<ResolveInfo> lst = pm.queryIntentActivities(i, 0);
if (lst != null) {
for (ResolveInfo resolveInfo : lst) {
}
}
}
sólo proporciona el lanzador por defecto que es com.android.launcher.
Hey tienes cualquier solución de la misma? También estoy atrapado en un problema similar? ¿Podría ayudarme por favor? – Rahil2952
No, no, le informé a mi cliente que es imposible obtener esa información y ellos entienden. –
k thanx para su respuesta. – Rahil2952