15

アプリケーション マニフェスト ファイルで次のカテゴリを定義しています。

<intent-filter>
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.HOME"/>
   <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

行を削除すると -

<category android:name="android.intent.category.HOME"/>

アプリケーションの機能には影響しません。Android デバイスのホーム画面のランチャー リストにアプリケーションが表示されます。

ただし、最後の行を削除すると-

<category android:name="android.intent.category.LAUNCHER" />

Android デバイスのホーム画面ランチャー リストからアプリケーションが消えるという変更が表示されます。

そこで私の質問は、このカテゴリ HOME の目的は何なのか、そしてその一般的な用途は何なのかということです。

このカテゴリの唯一の目的がAndroid docsに記載されているようにホーム画面を起動することである場合、これは次の方法でも実行できます。

Intent homeIntent= new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(homeIntent);
4

1 に答える 1

26
 <category android:name="android.intent.category.HOME"/>

ホームボタンを押すと、ランチャーホームまたはホームアクティビティを起動するオプションとしてアプリがリストされることを示します (アクティビティのマニフェストにこのカテゴリを持つすべてのアプリケーションと共に)。もっと簡単に言うと、ホームボタンを押すたびに、AndroidManifest.xml のインテントフィルターに CATEGORY.HOME カテゴリと Action_Main を持つ携帯電話にインストールされているすべてのアプリケーションが一覧表示されます (デフォルトとしてアプリケーションを選択していない場合)。ユーザーが起動するホームを選択するためのセレクター。

于 2013-07-11T10:55:01.727 に答える