Registriere Broadcast Receiver von einem anderen Broadcast Receiver in android

Zurzeit habe ich Broadcast Receiver zum Abhören von Anrufzustandsereignissen. Ich habe Broadcast Receiver in @ registrieAndroidManifest.xml Wie nachfolgend dargestellt

<receiver android:name=".api.PhoneCallReceiver">
     <intent-filter>
          <action android:name="android.intent.action.PHONE_STATE" />
     </intent-filter>
</receiver>

Wenn die Anwendung gestartet wird, wird dieser Rundfunkempfänger für das Abhören von Anrufzustandsereignissen und gemäß @ registrierCALL_STATE Ich verwalte meine Anwendung.

Es funktioniert einwandfrei, bis das Telefon neu gestartet wird. Nach dem Neustart des Telefons funktioniert dieser Rundfunkempfänger nicht mehr. Ich weiß, dass ich den Empfänger für das Hören registrieren mussBOOT_COMPLETED Ereignis des Systems.

Was ich getan habe, ist wie unten gezeigt:

<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>

Ich habe auch die Erlaubnis gegeben, @ zu bekommBOOT_COMPLETED system event.

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

aber irgendwie klappt es nicht. Ich denke darüber nach, einen neuen Rundfunkempfänger zu bauen, der auf @ hörBOOT_COMPLETED Event nur, aber Problem ist, dass

So meine Fragen ist, wie kann ich diesen Telefonanruflistener-Rundfunkempfänger starten, wenn ein eingehender Anruf eingeht?

Wie kann ich Broadcast Receiver von einem anderen Broadcast Receiver registrieren?

Muss ich den Code meines vorhandenen Rundfunkempfängers in den Dienst verschieben, damit ich den Dienst vom Startempfänger aus starten kann?

Jede Hilfe wird geschätzt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage