Ich habe bereits versucht, nach meiner Antwort zu suchen, konnte aber nicht die spezifische Antwort erhalten, die ich überprüfte.Broadcast-Empfänger wird nicht jedes Mal aufgerufen
Problem: Ich versuche, einen Anruf Zustand ändern Empfänger zu machen. Ich habe Rundfunkempfänger in Manifest registriert und eine Empfängerklasse dafür gemacht. In seinem onReceive() habe ich einen PhonsStateListener registriert, um Änderungen des Anrufstatus zu hören. Wenn ich jetzt einen Anruf erhalte, wird onReceive() aufgerufen, und wenn die Verbindung getrennt wird, wird onReceive erneut ordnungsgemäß aufgerufen. Aber wenn ich den oben genannten Prozess erneut wiederholte, wird OnReceive() bei eingehenden Anruf, aber nicht beim Trennen dieses Anrufs aufgerufen.
Mein Manifest für Empfänger
<receiver android:name=".CallReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
Ich habe keine Ahnung, was in diesem falsch sein könnte. Das Problem ist onReceive() wird nicht beim Trennen des zweiten Anrufs aufgerufen. Bitte lassen Sie mich wissen, wenn ein anderer Code benötigt wird. Ich bin Überprüfung auf Note2 JellyBean 4.1.2
Ich kann die Verwendung von Wakelock-Erlaubnis hier nicht verstehen. Ich versuche nicht, irgendein Wakelock zu erwerben, und außerdem bekomme ich keine Sicherheitsausnahme. Außerdem kann ich nicht den Grund für die Registrierung des Empfängers verstehen. Dies ist auch ein Empfänger, so ist es auch möglich, dass ich meine Aktivität überhaupt nicht öffnen kann (also wird onDestroy nicht aufgerufen), aber trotzdem sollte der Empfänger gut funktionieren. –