2011-11-23 8 views
6

ホーム画面に表示されるアプリケーションのリストをAndroidで作成します。アンドロイドのホーム画面に表示されるアプリケーションの名前を取得する方法は?

現在、私は次のコードを使用しています:

List<ApplicationInfo> packs = pm.getInstalledApplications(0); 

をしかし、これはインストールされているすべてのアプリケーションを返しますが、私は、ホーム画面上のアイコンを持つアプリケーションのみが必要です。

どうすればいいですか?

助けてください。

+1

非標準のランチャーのユーザーを収容する予定ですか?多くの携帯電話に標準装備されているSenseとTouchWizに注意してください。 – Emyr

+0

「ホーム画面」はAndroidの標準コンセプトではありません。 @Emyrが述べたように、多くの人々が異なるランチャーの交換を使用しているので、それらのホームスクリーンは「在庫」と同じではありません。すべてのランチャーには、ホーム画面に表示されているものを保存する独自の方法があります。 – Guillaume

答えて

0

デバイスにインストールされているパッケージの一覧が表示されたら、それらのパッケージを繰り返し、各アイテムのgetLaunchIntentForPackage()に電話してください。

有効なインテントが返された場合はランチャーに存在し、そうでない場合はnullが返されます。パッケージはランチャー画面から起動しません。ホーム画面のショートカットは、ランチャーアプリのサブセットであることに注意してください。

+0

ありがとうございます。私は同じことをした。しかし、いくつかのパッケージでシステム例外が発生します。どのように解決することができますか? – Sandeep

+1

文書では、返されるインテントが返され、メインアクティビティの起動に使用できます。通常、すべてのアプリにはランチャーが1つあります。だから私はこれがうまくいくとは思わない........あなたはこれまでこれを試しましたか? –

+0

@Shailこれは、 'CATEGORY_LAUNCHER'のインテントを返します。アクティビティが ''に該当する場合、それらはLauncherに表示されます。 ' – Reno

関連する問題