0

我正在 Android 4.0.3 中开发应用程序。根据Google 的文档,我读到不再支持 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>
4

2 回答 2

2

抱歉,但也许您对文档有误,请确保您<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>在清单中包含许可。我在许多应用程序中使用此广播,它们效果很好。

BOOT_COMPLETE确保您也知道在安装外部存储之前将此信息 发送到应用程序。因此,如果应用程序安装到外部存储,它将不会收到BOOT_COMPLETE广播消息。

于 2013-01-01T08:40:15.820 回答
1

我正在 Android 4.0.3 中开发应用程序。根据 Google 的文档,我已经读到不再支持 HONEYCOMB BOOT COMPLETED 事件。

您误解了文档。BOOT_COMPLETED支持。但是,它确实需要手动运行应用程序的某些组件,然后才能进行任何注册BroadcastReceiver。通常,这是通过启动活动来完成的。因此,如果您只是安装应用程序并重新启动设备,您将无法在启动时获得控制权。

您可以在 Android 3.1 发行说明的“已停止应用程序上的启动控件”以及此博客文章中了解更多相关信息。

于 2013-01-01T12:30:32.750 回答