0

I am developing app in Android 4.0.3. I've read that the HONEYCOMB BOOT COMPLETED event is no longer supported, according to Google's documentation.

Given this, how can I discover that my device has rebooted?

CODE -

Java Class :-

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");
    }
}

Manifest File :-

<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 に答える