2012-10-05 22 views
13

我想以編程方式獲得主屏幕啓動器中所有安裝的快捷方式列表。 我發現很多片段的在線,但他們沒有提供正確的輸出如何獲得在主屏幕啓動器中找到的所有安裝的快捷方式列表android

這個片斷:

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

這只是提供了預設快捷鍵如聯繫人,瀏覽器等。不完全是在主屏幕中找到的。

,而這個片段:

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) { 
      } 
     } 
    } 

只提供了默認的啓動是com.android.launcher。

+0

嘿你有它的任何解決方案?我也陷入類似的問題?你能幫我嗎.. – Rahil2952

+0

不,我沒有,我告訴我的客戶,這是不可能獲得這些信息,他們理解。 –

+0

k thanx您的回覆.. – Rahil2952

回答

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); 
相關問題