Android用ランチャーアプリを開発しています。そのためには、利用可能なアクティビティに影響を与えるACTION_PACKAGE_REMOVED、ACTION_PACKAGE_CHANGEDなどのアクションでシステムブロードキャストの通知を受ける必要があります(私のアプリで表示される)ユーザーで起動します。Intent.ACTION_PACKAGE_CHANGED - アプリケーションコンポーネントのブロードキャストが受信できません
パッケージのインストール、パッケージの削除、パッケージの更新&パッケージの無効化/有効化はいつものように機能しますが、パッケージ全体が無効になっている場合などがあります。 Intent.ACTION_PACKAGE_CHANGEDというアクションを持つシステムブロードキャストが呼び出されますが、MyAndroidToolsなどのアプリケーションからアクティビティなどのアプリケーションコンポーネントが個別に無効になっている場合、ブロードキャスト受信者に通知されません。つまり、Intent.ACTION_PACKAGE_CHANGEDのブロードキャストはシステムからアプリケーションに届きません個々のアプリコンポーネントを無効にするためですここで
は、必要なインテントフィルタを持つ放送受信機の私のマニフェスト宣言です:
<receiver android:name=".LauncherBroadcastReceiver">
<intent-filter android:priority="100">
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_CHANGED"/>
<action android:name="android.intent.action.PACKAGE_REPLACED"/>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
(アクティビティを言う)intentedとしてすべてが機能していますが、パッケージの全体は、とき、単一コンポーネント無効か有効ではない場合にのみ、無効または有効になっています。
いくつかの他のランチャーでテストをチェックしているので、いくつかの方法があります.1つのコンポーネントが無効になっていると、コンポーネントを有効にするためにランチャーの&にそのように反映されます(アプリケーションドロワーで消えます)。したがって、これらのランチャーは、この情報を受信しているいくつかのリスナーまたはブロードキャストかもしれません。私の問題のため
私のケースでは、両方の値がデフォルトで真となり、パッケージ全体の変更のインテントを受け取ることができるので、問題はありませんが、ヘルプに感謝します。 –