2012-10-05 2 views
13

ホームスクリーンランチャーにインストールされているすべてのショートカットのリストをプログラムで取得したかったのです。私はオンラインスニペットの多くを発見したが、それらのどれもが、このスニペットのために右出力ホームスクリーンで見つかったすべてのショートカットのリストを取得する方法アンドロイドのランチャー

を提供しない :

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があります.. – 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); 
関連する問題