Ich habe eine SmsReceiver
, die ich wirklich auf einem Gerät testen möchte, aber ich bin nicht bereit, eine Menge echter SMS an mein Gerät zu senden, das meine Telefonrechnungen stapelt; -)
Also dachte ich, dass ich einen intent
mit action RECEIVED_SMS
, SMS-Daten und allen anderen Sachen, die man braucht, um eine SMS zu senden, kicken kann. Nach einer kurzen Tour auf Google bin ich hier gelandet: Ссылка .
Ich habe ein paar Ideen aus diesem Post genommen und meine Killer-Android-App zum Erstellen und Senden von SMS auf dem Gerät zu Testzwecken gemacht, und ich muss sagen, dass es wie ein Zauber funktioniert hat, außer dass mein Receiver onReceive
nicht aufgerufen wird. Die gesendeten SMS gehen einfach direkt in den Posteingang. Ich weiß, dass mein Empfänger funktioniert, wenn ich eine echte SMS an mein Gerät sende, löst es aus, und wenn ich eine SMS von DDMS an einen Emulator sende, wird es auch ausgelöst, also sollte es in Ordnung sein.
Also gibt es irgendwelche permissions
, einige Intent.putExtras
oder andere Sachen, die ich vermisse? Irgendwelche Tipps sind wirklich hilfreich, und wenn man das zum Laufen bringen könnte, würde es mir beim Testen und Entwickeln meiner Anwendung sehr helfen.
Mein Empfänger im Manifest:
%Vor%Berechtigungen im Manifest (empfangende Anwendung):
%Vor%Berechtigungen im Manifest (sendende Anwendung):
%Vor%Sollte auch erwähnen, dass keine Fehler in LogCat oder in der Konsole angezeigt werden.
So sieht mein Empfänger im Manifest aus:
%Vor%Das Einzige, was ich extra mache, ist, dass ich android: priority auf 999 gesetzt und android: exported="true"
hinzugefügt habeDies waren die einzigen Berechtigungen, die ich für die App verwendet habe:
%Vor%Ich hatte das gleiche Problem mit meiner Anwendung und es war HTC ONE, das Android 4.3 hat, aber nachdem ich einige Änderungen an diesem Receiver vorgenommen habe, funktioniert es absolut perfekt.
Sie können es auch versuchen.
Stellen Sie mithilfe der folgenden Empfängerdeklaration sicher, dass Ihr SMsReceiver im Hauptpaket vorhanden ist, oder geben Sie den vollständigen Pfad " * Pfad / SmsReceiver * an. "here path bedeutet den vollständigen Paketpfad.
%Vor%Auch alle Berechtigungen scheinen in Ordnung zu sein, nur wenn Sie auch SMS senden, schließen Sie einfach
ein %Vor%Tags und Links android sms android-intent broadcastreceiver