例えば
<receiver android:name=".BootReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
アプリには受信機があり、設定されていandroid:enabled="true"
ます。
以下のコードを試しましたが、うまくいきません。
Intent intent = new Intent(Intent.ACTION_BOOT_COMPLETED);
List<ResolveInfo> resolveInfoList = mPackageManager.queryBroadcastReceivers(intent, PackageManager.GET_RESOLVED_FILTER);
しかし、BootReceiver は resolveInfoList にありません。
また、これらのコードも試しました。
PackageInfo packageInfo = mPackageManager.getPackageInfo(applicationInfo.packageName, PackageManager.GET_RECEIVERS);
ActivityInfo[] receivers = packageInfo.receivers;
一部の受信者は null です。
では、無効化されたレシーバーのインテント フィルターを見つけるにはどうすればよいでしょうか。