例如
<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;
一些接收器是空的。
那么如何找出禁用接收器的意图过滤器呢?