2

次のフィルターを使用して、レシーバー内で BOOT_COMPLETED を受け取るアプリケーションを作成しました。

<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />

あるデバイスでこれを受信しますが、同じ APK を使用しているにもかかわらず、これを受信しない別のデバイスがあります。特定のデバイスがこのインテントを受信できない可能性があるデバイス固有の問題は何ですか? これをテストして救済策を作成する方法はありますか?

4

2 に答える 2

2

Android 3.1 より後の一部のデバイスでは、BOOT_COMPLETED レシーバーの後にアプリ コントロールが提供されません。

Google は長い間、アプリケーションが多くのことを行う前に、ユーザーはまずランチャーからアクティビティを起動する必要があると述べてきました。最初のアクティビティが起動されるまで BOOT_COMPLETED が配信されないようにすることは、同じ引数の論理的な拡張です。

ただし、どのデバイスで違いが生じるかはわかりません。

于 2013-06-20T19:14:43.070 に答える
2

本当に完全な再起動を行っていることを確認してください。

たとえば、一部の HTC デバイスには、 をトリガーせずにブロードキャストBOOT_COMPLETEDを送信する「高速ブート」モードがあります。android.intent.action.QUICKBOOT_POWERON私が理解しているように、「高速ブート」モードは基本的に、真のパワーダウンではなく休止状態を行うためBOOT_COMPLETED、結果として送信しません。

(なぜIntentアクションがそうでないのかcom.htc.action.QUICKBOOT_POWERONは、まったく別の問題です...)

于 2013-06-20T19:13:57.587 に答える