現在、私はリッスンコールステートイベント用のブロードキャストレシーバーを持っています。私はAndroidManifest.xml
に放送受信機を登録しました。アンドロイドの別のブロードキャストレシーバーからのブロードキャストレシーバーの登録
<receiver android:name=".api.PhoneCallReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
アプリケーションは、コール状態イベントをリスニングし、私は自分のアプリケーションを管理していますCALL_STATE
に応じてのために登録されている。この放送受信機を起動すると。
電話が再開するまでうまくいきます。 電話機の再起動後、このブロードキャスト受信機の動作が停止します。私はシステムの受信BOOT_COMPLETED
の聴取のために受信機を登録しなければならないことを知っている。
何私が行っていることは、以下に示すようなものです:
<receiver android:name=".api.PhoneCallReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
私もBOOT_COMPLETED
システムイベントを取得するための許可を与えています。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
しかし、何とか動作していません。私はBOOT_COMPLETED
イベントのみを聞く新しい放送受信機を作ることを考えていますが、それは
です。私の質問はどうやって着信呼が入ったときにこの電話呼受話器放送受信機を始めることができますか?私は別のブロードキャストレシーバー
からブロードキャストレシーバーを登録することができます私はので、私はブートレシーバーからサービスを開始することができますサービスを提供するために私の既存の放送受信機のコードを移動する必要がありますどのように
?
ご協力いただければ幸いです。
あなたは権限を与えましたが、あなたはtarget => API23を開発した場合、実行時にこの権限を要求しましたか? – Opiatefuchs
@Opiatefuchs現在のtargetSdkVersionはアプリで22です。 – Rajesh
OK、あなたはREAD_PHONE_STATEの許可を持っていますか? – Opiatefuchs