以编程方式注册ACTION_BOOT_COMPLETED

时间:2012-05-13 14:20:48

标签: android broadcastreceiver

好的,所以我搜索并搜索过,但似乎无法找到一个声明这不可能的引用。基本上我想在我的应用程序中完成的是允许用户为ACTION_BOOT_COMPLETED注册或取消注册广播接收器。

我尝试使用下面的代码注册它,但没有骰子。如果我将它添加到清单然后我可以收到事件,但无法将其关闭(从我可以告诉的)。是否无法为ACTION_BOOT_COMPLETED注册和取消注册接收器?

    IntentFilter bootFilter = new IntentFilter(Intent.ACTION_BOOT_COMPLETED);
    mBootCompleted = new BootBroadcastReceiver();
    registerReceiver(mBootCompleted, bootFilter);

1 个答案:

答案 0 :(得分:3)

  

基本上我想在我的应用程序中完成的是允许用户注册或取消注册ACTION_BOOT_COMPLETED的广播接收器。

步骤1:将<receiver>放入带<intent-filter>广告的BOOT_COMPLETED的清单中

步骤2:根据您的应用程序使用PackageManagersetComponentEnabledSetting()根据需要启用或禁用该组件,具体取决于下次启动是否需要它

步骤3:没有第3步

  

我尝试使用下面的代码注册它,但没有骰子。

当然。在这个存在的平面中,时间以线性的方式进行,总是向前发展(模数为TARDIS或适当装备的DeLorean)。当您执行您显示的代码时,启动将完成,并且在您的代码不再运行之前将不再进行启动广播(因为设备已重新启动)。

  

如果我将它添加到清单中,那么我就可以收到这些事件,但无法将其关闭(我可以告诉它)。

请参阅我答案顶部的食谱。