0

私は、特定のデバイスで動作しないBoot_completeレシーバの問題を克服しようとしています。すべてのアンドロイドデバイスでBootReceiverが動作しない

自動起動マネージャを備えたiManagerアプリを持つVivoデバイス。 ユーザーは、デバイスの起動時に自動起動からアプリケーションを切り替えることができます。

デバイスの再起動後にサービスを再開するには、インテントフィルタとして以下のものを使用しますか。

以前はBattery_Changeレシーバを使用していましたが、実行時レシーバレジスタでなければならないため、マニフェストでは動作しません。

本当に助かりましたでしょうか。

以下は、私のアプリのインテントフィルターとして使用したものです。ほとんどのデバイスで期待どおりに動作します。しかし、すべてではありません。

<intent-filter> 
    <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
    <action android:name="android.intent.action.REBOOT" /> 
</intent-filter> 
+0

マニフェストで権限を正しく設定しましたか? –

+0

アプリがインストールされている場所、外部または内部のストレージはどこですか? –

+0

はい@chalithageekiyanage私はマニフェストでもboot_completeを受信する許可を得ています。 –

答えて

1

同様の問題が発生した場合、私のチームと私は1つのことを発見しました。 あなたがそうのようなusbの状態を監視できます。

<receiver 
    android:name=".MyReceiver" 
    android:enabled="true"> 
    <intent-filter> 
     <action android:name="android.hardware.usb.action.USB_STATE" /> 
    </intent-filter> 
</receiver> 

とメモリが右の私を提供する場合、これは前にそこにあるか、何もUSBが接続されていないあなたを伝える定期BOOT_COMPLETEDアクションを放送を送信します。

メーカーによっては、hereを読むことができるので、BOOT_COMPLETEDの独自のバージョンを使用していますが、あなたがしたいことに基づいてUSB_STATEを代替することができます。この方法を使用して複数のブロードキャストを取得するできるに注意してください!

また、firebase sdkからAccessibilityServiceまたはJobServiceを使用して調べることもできます。詳細はhereです。

+0

USB_Stateにお試しいただきありがとうございます。 基本的には、iManagerがboot_completeアクションを取得してからアプリケーションをブロックしていることをlogcatで確認できます。 05-01 07:39:51.110 2155-2183 /? W/BroadcastQueue:ブロードキャストのインテント{act = android.intent.action.BOOT_COMPLETED flg = 0x8000010(extras)}のためのアプリケーションcom.testing.app/10178の起動を中止してください:プロセスが起動しないようにします –

+0

こんにちは、@ジョーディUSB_STATEですが、再起動時に受信者の同じイベントを傍受できません。 –

+0

こんにちは@ジョーディ以下の問題を取得する 05-01 16:35:03.394 2219-4544 /? W/BroadcastQueueは:ブロードキャスト意図{作用= android.hardware.usb.action.USB_STATE FLG = 0x20000010(補足を有する)}のアプリcom.testing.app/10180を起動キャンセル:プロセスは、以下に取得 –

関連する問題