2013-12-10 4 views
7

Meine Android-App verwendet SMS, um Benachrichtigungen unbeaufsichtigt zu senden. Vor Kitkat wurden diese Benachrichtigungen nicht im SMS-Provider aufgezeichnet und daher nicht in den Konversationslisten des Benutzers angezeigt. Dies ist das gewünschte Verhalten der App.So senden Sie eine SMS in Android Kitkat aus einer nicht standardmäßigen App, ohne sie an einen SMS-Anbieter zu senden

Mit der Änderung der Kitkat-SMS (siehe die unten angegebene SmsManger-Dokumentation) werden diese Nachrichten zwar noch gesendet, werden aber jetzt automatisch an den SMS-Provider geschrieben und erscheinen somit in den Konversationslisten des Benutzers. Dies ist unerwünscht für meine App. Wenn Android Android 4.4 (API Level 19) nur dann verwendet wird, wenn eine App nicht als Standard-SMS-App ausgewählt ist, schreibt das System automatisch Nachrichten, die mit dieser Methode gesendet werden, an den SMS-Anbieter (die Standard-SMS-App ist) immer verantwortlich für das Schreiben seiner gesendeten Nachrichten an den SMS-Anbieter). Informationen dazu, wie Sie sich als Standard-SMS-App verhalten, finden Sie unter Telefonie.

Es klingt, als könnte ich das automatische Schreiben an den Provider verhindern, indem ich meine App zum Standard mache und dann nicht an den Provider schreibe. Dies wäre jedoch eine schreckliche Nutzererfahrung im Kontext meiner App, so dass ich es nur als letzten Ausweg betrachten würde.

Meine Frage ist dann - ist es eine Möglichkeit, leise SMS in Kitkat ohne meine App senden, die den Standard-App sein?

Ich habe die Antworten auf diese Frage Send SMS message using non default SMS app on Android 4.4 gelesen, aber das ist mehr mit der Sorge besorgt, dass die Nachrichten sind wird an den Anbieter geschrieben. Ich will das nicht.

Antwort

0

Kurze Antwort ist nein.

Lange Antwort:

Es tatsächlich Optionen sind, aber es erfordert eine Menge Arbeit. Eine ist, den Quellcode für aosp herunterzuladen und die mms.apk so zu modifizieren, dass sie Intents von Ihrer App erhält, um SMS zu senden, ohne sie an den Provider zu schreiben.

Eine andere Möglichkeit ist baksali Ihre Telefone Standard-SMS-Anwendung und fügen Sie smali-Code, mit dem Sie das gleiche wie oben tun können. Dies würde technisches Wissen von smali und das Dekompilieren/Neukompilieren von APKs erfordern.

Mit diesem gesagt, gibt es Probleme, die auftreten werden, wie zum Beispiel, wenn der Telefonbenutzer beschließt, eine sms/mms-Anwendung eines Dritten für ihre kurzen Nachrichtenbedürfnisse zu verwenden.

Verwandte Themen