2012-10-05 10 views
13

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.

+0

Hey tienes cualquier solución de la misma? También estoy atrapado en un problema similar? ¿Podría ayudarme por favor? – Rahil2952

+0

No, no, le informé a mi cliente que es imposible obtener esa información y ellos entienden. –

+0

k thanx para su respuesta. – Rahil2952

Respuesta

1

Mi respuesta puede ser tardía, pero podría ser útil para otros.

comprobar mi código:

if (Build.VERSION.SDK_INT <8) 
{ 
url = "content://com.android.launcher.settings/favorites?Notify=true"; 
} 
else 
{ 
url = "content://com.android.launcher2.settings/favorites?Notify=true"; 
} 

ContentResolver resolver = getContentResolver(); 
Cursor cursor = resolver.query (Uri.parse(url), null, null, null, null); 
Cuestiones relacionadas