{"id":2377,"date":"2021-10-19T16:18:21","date_gmt":"2021-10-19T16:18:21","guid":{"rendered":"https:\/\/www.art-events.de\/weblog\/?p=2377"},"modified":"2021-10-19T17:41:59","modified_gmt":"2021-10-19T17:41:59","slug":"android-2-arten-sms-zu-verschicken","status":"publish","type":"post","link":"https:\/\/www.art-events.de\/weblog\/android-2-arten-sms-zu-verschicken\/","title":{"rendered":"Android: Zwei Arten SMS zu verschicken"},"content":{"rendered":"<p>Bei unserer Anwendung InstaHelperAE geht es darum verschiedene vordefinierte Notfall SMS zu verschicken. Hierbei soll der Benutzer nur nach Ampelfarben ausw\u00e4hlen (gr\u00fcn &#8211; gelb bis rot \/ Notfall) und Text u. Empf\u00e4nger sind bereits festgelegt. Einfach Button klicken. SMS wird verschickt. Fertig.<\/p>\n<p><a href=\"https:\/\/www.terminal-systems.de\/wp\/instahelpae-notfall-sms-app\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.terminal-systems.de\/wp\/instahelpae-notfall-sms-app\/<\/a><\/p>\n<p>U.a. bietet uns Android f\u00fcr den Versand von SMS Textnachrichten zwei M\u00f6glichkeiten:<\/p>\n<p><strong>Variante 1: \u00dcber Intent mit Permission.SEND_SMS<\/strong><\/p>\n<blockquote>\n<pre>private void SendSMS (String myNummer, String myText) {\n    \/\/------------------------------------------------\n    \/\/Send SMS\n    \/\/------------------------------------------------\n\n    if ((myNummer.isEmpty()) || (myText.isEmpty())) {\n        return;\n    }\n\n\n\/\/Kleiner Sonderfall: wir checken ob Permission gesetzt!\n    if ( ContextCompat.checkSelfPermission( this, android.Manifest.permission.SEND_SMS ) != PackageManager.PERMISSION_GRANTED ) {\n        Toolkits.MessageBox(this, \"SMS Permission is Missing!\", \"Error\");\n        ActivityCompat.requestPermissions( this, new String[] {  android.Manifest.permission.SEND_SMS  }, 0);\n        return;\n    }\n\n    Intent intent=new Intent(getApplicationContext(),MainActivity.class);\n    PendingIntent pi=PendingIntent.getActivity(getApplicationContext(), 0, intent,0);\n\n    SmsManager sms=SmsManager.getDefault();\n    sms.sendTextMessage(myNummer, null, myText, pi,null);\n\n\/\/User soll OK Meldung sehen!\n    Toolkits.MessageBox(this, \"SMS Send\", \"OK\");\n\n}<\/pre>\n<\/blockquote>\n<p>Dazu im Manifest die Permisson:<\/p>\n<blockquote>\n<pre>&lt;uses-permission android:name=\"android.permission.SEND_SMS\" \/&gt;<\/pre>\n<\/blockquote>\n<p>Bei dieser Variante wird die SMS direkt aus der App automatisch verschickt. Auf Tastendruck raus mit dem Ding und gut ist. Mit Ausnahme der o.a. Messagebox sieht der Anwender nix vom Erfolg oder Misserfolg!<\/p>\n<p><strong>Oder halt die Variante 2 mit Common Intent ACTION_SENDTO<\/strong><\/p>\n<blockquote>\n<pre>public void SendSMS(String myTel, String message, Uri attachment) {\n\n    Uri uri = Uri.parse(\"smsto:\" + myTel);\n    Intent it = new Intent(Intent.ACTION_SENDTO, uri);\n    it.putExtra(\"sms_body\", message);\n\/\/Keine Verwendung fuer attachment\n    startActivity(it);\n}\n\n<\/pre>\n<\/blockquote>\n<p>Vorneweg sei gesagt: das mit ACTION_SENDTO ist so eine eierlegende Wollmilchsau. Das Ding kann (fast) alles: Mails verschicken, SMS oder MMS verschicken &#8211; und nutzt daf\u00fcr die bereits auf dem Android Device installierten Tools. Permissions sind hierbei nicht notwendig, ja sogar kontraproduktiv.<\/p>\n<p><a href=\"https:\/\/developer.android.com\/guide\/components\/intents-common#java\" target=\"_blank\" rel=\"noopener\">https:\/\/developer.android.com\/guide\/components\/intents-common#java<\/a><\/p>\n<p>Im o.a. Beispiel \u00f6ffnet sich zum Versenden der Standards SMS Handler des Android Ger\u00e4tes, die SMS ist vordefiniert und muss noch per Tastendruck best\u00e4tigt werden. Versand und Archivierung erfolgen im Standard SMS Programm.<\/p>\n<p><a href=\"https:\/\/www.terminal-systems.de\/images\/211019-smsview1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large\" src=\"https:\/\/www.terminal-systems.de\/images\/211019-smsview1.jpg\" width=\"195\" height=\"400\" \/><\/a><\/p>\n<p>Relativ schnell wird klar, dass f\u00fcr unsere Anwendung die Variante2 unbrauchbar ist! Die SMS soll im Notfall sofort verschickt werden. Weitere Programme \/ Ansichten \/ Clicks sind kontraproduktiv und w\u00fcrden den Benutzer im Notfall nur weiter verwirren. Also k\u00f6nnen wir nur mit Variante1 gut arbeiten.<\/p>\n<p><strong>Google Play Store und die prim\u00e4ren Handler<\/strong><\/p>\n<p>Doch fairerweise sei gesagt: beim Anmelden der App im Goggle Play Store kann es mit Variante1 noch ein paar Schwierigkeiten geben. Google hat Apps nicht so gerne, die quasi im lfd Betrieb direkt Telefon oder SMS verwenden und sich als Prim\u00e4re Handler aufspielen, ohne daf\u00fcr die notwendigen Unterst\u00fctzungen zu bieten. Sie empfehlen Variante2 &#8211; SMS Versand \u00fcber den vorhandenen Primary SMS Handler \/ \u00fcber die bereits installierte SMS App &#8211; aber das bringt uns bei unserer Anwendung ja nicht zum Ziel. Also ist manchmal etwas Sonderaufwand notwendig, um Anlagen f\u00fcr kritische Apps auszf\u00fcllen, bevor ihr die Freigabe f\u00fcr den App Store bekommt.<\/p>\n<hr \/>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large\" src=\"https:\/\/www.terminal-systems.de\/images\/20080607hjwx-204.jpg\" width=\"204\" height=\"153\" \/><\/p>\n<p>Text und Entwurf. (c) AE SYSTEME Testcenter, Hans-J. Walter<br \/>\nHans-J. Walter ist Programmierer f\u00fcr Windows DOT.NET und Android und als Senior Chef Entwickler bei AE SYSTEME www.terminal-systems.de in Burgdorf \/ Hannover t\u00e4tig. <a href=\"mailto:hjw@terminal-systems.de\">hjw@terminal-systems.de<\/a><\/p>\n<p><em>F\u00fcr diese und alle nachfolgenden Seiten gilt ebenso der obligatorische Hinweis: Alle Angaben ohne Gew\u00e4hr. Bilder und Codes zeigen Beispiele. Diese Beschreibung bezieht sich auf unsere Installation und stellt keine Bewertung der verwendeten Techniken da. Fehler und Irrt\u00fcmer vorbehalten!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei unserer Anwendung InstaHelperAE geht es darum verschiedene vordefinierte Notfall SMS zu verschicken. Hierbei soll der Benutzer nur nach Ampelfarben ausw\u00e4hlen (gr\u00fcn &#8211; gelb bis rot \/ Notfall) und Text u. Empf\u00e4nger sind bereits festgelegt. Einfach Button klicken. SMS wird verschickt. Fertig. https:\/\/www.terminal-systems.de\/wp\/instahelpae-notfall-sms-app\/ U.a. bietet uns Android f\u00fcr den Versand von SMS Textnachrichten zwei M\u00f6glichkeiten: [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,4,34],"tags":[],"class_list":["post-2377","post","type-post","status-publish","format-standard","hentry","category-android","category-anwendungen","category-programmierung","entry"],"_links":{"self":[{"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/posts\/2377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/comments?post=2377"}],"version-history":[{"count":0,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/posts\/2377\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/media?parent=2377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/categories?post=2377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/tags?post=2377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}