BroadcastReceiver SMS_Received funktioniert nicht auf neuen Geräten

achdem ich verschiedene Ressourcen und Fragen durchgearbeitet habe, habe ich immer noch ein Problem mit der Erkennung einer eingehenden SMS-Nachrich

Der folgende Code zeigt die Grundlagen:

Broadcast-Empfängerklasse, die Toast onReceive @ anzei

public class IncomingSms extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "something received", Toast.LENGTH_SHORT).show();
    }
}

Simple Manifest mit der Registrierung von Empfänger und Berechtigungen

<application
    <receiver 
        android:name=".IncomingSms"
        android:permission="android.permission.BROADCAST_SMS"
        android:exported="true">

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

</application>

<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />

Der obige Code deklariert und registriert den Empfänger und verfügt über die entsprechenden Berechtigungen. Außerdem ist die Priorität auf MAX_INT oder 2147483647 festgelegt.

ei meinem Gerät handelt es sich um Nexus 6P, auf dem die Standard-Messenger-App installiert ist (ich habe auch Hangouts ausprobiert). Die App zeigt meine Toasts immer noch nicht an. Nach dem Versuch mit einem älteren Samsung-Gerät wurden die Toasts ordnungsgemäß gedruckt.

Prioritätsproblem

Ich habe auf dem 6P eine App namens @ installierManifest Viewer, mit dem ich die manifest.xml der auf meinem Gerät installierten Apps sehen kann. Ich habe die Manifeste von Messenger und Hangouts auf den Empfänger von SMS-Tags überprüft und festgestellt, dass beide eine Priorität von 2147483647 angeben. Es scheint, als würden beide Messenger-Apps die Priorität maximal ausnutzen und sobald sie die Nachricht verbrauchen, sie Andere Anwendungen dürfen nicht eingreifen. Beachten Sie, dass es sich hierbei um Standard-Google-Apps und nicht um Apps von Drittanbietern handelt.

n diesem Punkt bin ich ziemlich verwirrt über:

Warum würden sie das tun?wie umgeht man es?

Danke vielmal

Antworten auf die Frage(4)

Ihre Antwort auf die Frage