2017-12-07 1 views
0

Ich habe nach diesem gesucht, viele Threads finden, die darauf festlegen. Aber die Dinge funktionieren nicht für mich. Versuchte Einstellung "exit_on_sent" und versuchte auch mit startActivityForResult. Hier ist der Code-Schnipsel Ich habe versucht, mitZurück zu meiner Anwendung nach dem Senden von SMS mit Absicht

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.setData(Uri.parse("smsto:" + phoneNumbers)); // phoneNumbers is a list of phone numbers to which i need to send messages at the same time 
sendIntent.putExtra("sms_body", context.getResources().getString(R.string.message_body)); 
sendIntent.putExtra("exit_on_sent", true); 
context.startActivity(sendIntent); 
+1

Verwenden Sie zuerst "ACTION_SENDTO", wie in [der Dokumentation] (https://developer.android.com/guide/components/intents-common.html#Messaging) beschrieben. Zweitens, bitte erläutern Sie im Detail ** was "Dinge nicht für mich arbeiten" bedeutet. – CommonsWare

+0

Danke für die Antwort, ich habe versucht, mit Ihrem Vorschlag und ACTION_SENDTO anstelle von ACTION_VIEW, aber mein Problem ist, dass nach dem Senden der Nachricht, meine Anwendung wird nicht wieder von wo ich die Absicht aufgerufen. Die Messaging-Anwendung ist auch nach dem Senden der Nachricht sichtbar. Meine Anforderung besteht darin, nach dem Senden der Nachricht zu meiner Anwendung zurückzukehren. NB: Ich möchte Benutzerinteraktion senden Nachricht und auch ich möchte Nachricht an mehrere Personen in einem einzigen Schuss senden. – Rino

Antwort

1

ist Meine Forderung nach dem Senden Nachricht an meine Bewerbung zurück zu gehen.

Wenn Sie ACTION_SENDTO oder ACTION_VIEW oder andere Intent Aktionen, starten Sie eine App von Drittanbietern tun, etwas zu gehen. In diesem Fall starten Sie eine Drittanbieter-App, um eine SMS zu senden.

Es sind ~ 2 Milliarden Android-Geräte im Einsatz, verteilt auf ~ 10.000 Gerätemodelle. Es wird dutzende, wenn nicht sogar Hunderte verschiedener vorinstallierter SMS-Clients für diese Gerätemodelle geben. Benutzer können auch andere SMS-Clients über den Play Store oder andere App-Vertriebskanäle installieren.

Was passiert, wenn Ihre App startet eine dieser Hunderte von SMS-Clients ist bis zu den Entwicklern dieser SMS-Clients, nicht Sie.

Wenn Sie die Kontrolle über das gesamte Benutzererlebnis haben möchten, senden Sie die SMS-Nachricht selbst mit SmsManager, wie Ankit pointed out. Wenn Sie den bevorzugten SMS-Client des Benutzers verwenden möchten, bleiben Sie bei ACTION_SENDTO, aber was zu diesem Zeitpunkt geschieht, hängt von den Entwicklern des SMS-Clients und dem Benutzer ab, nicht von Ihnen.

+0

Danke für die Klarstellung. Aber ist es möglich, eine Nachricht an mehrere Personen mit einer einzigen Aufnahme ohne Schleife zu senden, während SmsManager verwendet wird, wie ich es durch sendIntent.setData (Uri.parse ("smsto: 5375; 894959; 4545433;")); – Rino

+0

@Rino: "Ist es jedoch möglich, eine Nachricht an mehrere Personen mit einer einzigen Aufnahme ohne Schleifen zu senden, während der SmsManager verwendet wird?" - Nein. Ich weiß nicht, warum du eine Schleife fürchtest. – CommonsWare

+0

Leider möchte ich Nachricht nur auf Benutzerbestätigung senden, weil es optional ist, Nachricht zu senden oder abzubrechen, und die Nachricht sollte an mehrere Personen gesendet werden. – Rino

1

Sie SMS senden können SMSManager leise mit. wie folgend:

 try { 

      String ph="1234568790"; 
      String msg="Hello"; 

      SmsManager smsManager = SmsManager.getDefault(); 
      smsManager.sendTextMessage(ph, null,msg, null, null); 
      Toast.makeText(MainActivity.this, "Message Sent", 
        Toast.LENGTH_LONG).show(); 
     } 
     catch (Exception e) 
     { 
      Toast.makeText(MainActivity.this, "Message not Sent", 
        Toast.LENGTH_LONG).show(); 
     } 
+1

Nein. Ich möchte Benutzerinteraktion senden Nachricht und auch ich möchte Nachricht an mehrere Personen in einem einzigen Schuss senden. – Rino

Verwandte Themen