我正在Android 4.0.3中开发应用程序。根据{{3}},我已经读过不再支持HONEYCOMB BOOT COMPLETED事件了。
鉴于此,如何才能发现我的设备已重启?
代码 -
Java类: -
public class MyStartupIntentReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Logger.i("Device", "REBOOT");
Logger.i("Device", "REBOOT");
Logger.i("Device", "REBOOT");
Logger.i("Device", "REBOOT");
Logger.i("Device", "REBOOT");
}
}
清单文件: -
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name="MyStartupIntentReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
答案 0 :(得分:2)
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
权限。我在许多应用程序中使用此广播并且它们运行良好。
确保您知道在安装外部存储之前,此信息BOOT_COMPLETE
已发送到应用程序。因此,如果应用程序安装到外部存储器,它将不会收到BOOT_COMPLETE
广播消息。
答案 1 :(得分:1)
我正在Android 4.0.3中开发应用程序。根据Google的文档,我已经读过不再支持HONEYCOMB BOOT COMPLETED事件。
您误解了文档。支持BOOT_COMPLETED
。但是,它确实需要在任何已注册的BroadcastReceiver
工作之前手动运行应用程序的某些组件。通常,这是通过启动活动来完成的。因此,如果您只是安装应用程序并重新启动设备,则无法在启动时获得控制权。
您可以在the "Launch controls on stopped applications" of the Android 3.1 release notes以及this blog post中详细了解相关信息。