Вопрос по android, icons, shortcut, android-launcher – Как получить список всех установленных ярлыков, найденных на домашнем экране Launcher в Android

13

Я хотел получить список всех установленных ярлыков на панели запуска домашнего экрана программно. Я нашел много фрагментов в Интернете, но ни один из них не дает правильного вывода

для этого фрагмента:

Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT);
ArrayList intentList = new ArrayList();
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);    
}

это обеспечивает только предустановленные ярлыки, такие как контакты, браузеры и т. д. не совсем то, что находится на рабочем столе.

пока этот фрагмент:

    PackageManager pm = getPackageManager();
    Intent i = new Intent("android.intent.action.MAIN");
    i.addCategory("android.intent.category.HOME");
    List lst = pm.queryIntentActivities(i, 0);
    if (lst != null) {
       for (ResolveInfo resolveInfo : lst) {  
           }
       }
    }

предоставляет только панель запуска по умолчанию, которая называется com.android.launcher.

Эй, у тебя есть какое-нибудь решение? Я тоже застрял в аналогичной проблеме? Не могли бы вы мне помочь.. Rahil2952
Нет у меня нетт, я сообщил своему клиенту, что этоНевозможно получить эту информацию, и они понимают. She Smile GM
K спасибо за ваш ответ .. Rahil2952

Ваш Ответ

1   ответ
1

Проверьте мой код:

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);

Похожие вопросы