Durch Aktivieren der SMS-Unterstützung in Hangouts 2.0 wird der BroadcastReceiver von SMS_RECEIVED in meiner App unterbrochen

Ich habe gerade das Update für Hangouts 2.0 erhalten, es installiert und aktiviertSMSTurn on SMS. Jetzt kann meine Anwendung, die unter Android 4.3 ausgeführt wird, keine SMS mehr empfangen, d. H. Mein BroadcastReceiver fürSMS_RECEIVED wird nicht mehr gerufen. :-(

Sobald ich deaktiviereTurn on SMS In Hangouts 2.0 kann meine App wieder SMS_RECEIVED-Absichten empfangen.

Der Rundfunkempfänger wird wie folgt im Manifest registriert

AndroidManifest.xml

…
<receiver android:name=".SMSReceiver" >
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>
…

SMSReceiver.java

public class SMSReceiver extends BroadcastReceiver {

    private static final Log LOG = Log.getLog();

    @Override
    public void onReceive(Context context, Intent intent) {
            LOG.d("onReceive");
            …
    }
}

Ich habe bereits versucht, die Priorität des Empfängers auf INT_MAX oder 999 zu ändernhöchstmögliche Priorität ab der Intent-Filter-Dokumentation, aber ohne Erfolg.ich weiß dasSMS_RECEIVED Absichten werden gesendet, und Apps mit hoher Priorität können die Übertragung abbrechen.1 Es ist jedoch unwahrscheinlich, dass Hangouts 2.0 die Registrierung vornimmtSMS_RECEIVED Empfänger mit hoher Priorität und AnrufabortBroadcast()Dadurch wird verhindert, dass andere Apps die Absicht erhalten.

Was mich weiter verwirrt, ist, dass mein Pebble auch mit Hangouts 2.0 als Standard-SMS-App noch SMS empfangen kann. Ich frage mich, was Pebble anders macht. Ich habe gerade festgestellt, dass es sich bei der Benachrichtigung über eingehende SMS auf meinem Pebble nicht mehr um Benachrichtigungen für neue SMS handelt, die von der Pebble-App empfangen werden, sondern um Benachrichtigungen über "neue Hangout-Nachrichten", die durch Hangouts beim Empfang der eingehenden SMS verursacht werden. Daher kann die Pebble-App auch keine eingehenden Textnachrichten mit empfangenSMS_RECEIVED.

Nebenbei bemerkt und nicht wirklich mit diesem Problem verbunden, da ich immer noch auf Android 4.3 arbeite (aber meine App zielt auf SDK Level 19, Android 4.4, falls es darauf ankommt)neue SMS API in Kitkat, sagte, dass sich nichts für Apps ändern würde, die nur SMS_RECEIVED verwenden und nicht versuchen, die SMS an den SMS-Anbieter zu schreiben.

1 Ich habe immer geglaubt, dass die SMS_RECEIVED-Übertragung abgebrochen werden kann. Aber dieAndroid 4.4 APIs Seite sagt etwas anderes: "... wenn eine neue SMS ankommt, indem sie die SMS_RECEIVED_ACTION - Sendung abhört, die anicht abbrechbar Übertragung…"

Antworten auf die Frage(5)

Ihre Antwort auf die Frage