Danke für deinen Code. und ich möchte hinzufügen, da ich meinen vordefinierten Text setzen muss. Ich habe diese Lösung erhalten Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse ("sms:" + phoneNumber)); intent.putExtra ("sms_body", Nachricht); startActivity (Absicht);
DJK
1
Wie setze ich "phoneNumber" aus der Kontaktliste?
Saeed M.
@djk danke ich möchte alle Kontakte lesen und möchte eine eigene Seite zum Senden von SMS mit automatischer Vervollständigung, aber ich kann keine Kontakte lesen ein gutes Tutorial?
Guru
Ich würde das Standard-Widget zum Erstellen von SMS verwenden, um dies zu tun.
Lass
1
Hallo. Ich möchte Massen-SMS senden. wie 10.000 SMS mit einem Klick senden. Ist es möglich ? Ich hörte Android 30 SMS alle 30 Minuten senden. Bitte helfen Sie mir
Vrajesh
151
Das hat bei mir funktioniert.
publicvoid onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);
setContentView(R.layout.main);Button btnSendSMS =(Button) findViewById(R.id.btnSendSMS);
btnSendSMS.setOnClickListener(newView.OnClickListener(){publicvoid onClick(View v){
sendSMS("5556","Hi You got a message!");/*here i can send message to emulator 5556. In Real device
*you can change number*/}});}//Sends an SMS message to another deviceprivatevoid sendSMS(String phoneNumber,String message){SmsManager sms =SmsManager.getDefault();
sms.sendTextMessage(phoneNumber,null, message,null,null);}
Sie können diese Zeile in AndroidManifest.xml hinzufügen
In der Frage wird gefragt, ob die SMS in der Standardansicht angezeigt werden soll. Dies ist genau das Gegenteil, SMS hinter dem Rücken des Benutzers senden, nicht wahr?
Jan Hudec
Es kann keine Nachricht gesendet werden, wenn ein Apostroph darin enthalten ist.
Berserker
39
Versuchen Sie den folgenden Code und rufen Sie dann an, sendSMS("99999999999", "message");um eine SMS in der gewünschten Nummer zu senden.
//---sends an SMS message to another device---@SuppressWarnings("deprecation")privatevoid sendSMS(String phoneNumber,String message){Log.v("phoneNumber",phoneNumber);Log.v("MEssage",message);PendingIntent pi =PendingIntent.getActivity(this,0,newIntent(this,**DummyClasshere.class**),0);SmsManager sms =SmsManager.getDefault();
sms.sendTextMessage(phoneNumber,null, message, pi,null);}
Bitte legen Sie die folgende Erlaubnis in die AndroidManifest.xmlDatei.
Dieser Code wird zum Senden von Nachrichten im Hintergrund verwendet (Nachrichtenkomponist wird nicht angezeigt) . Er kann auch im Broadcast-Empfänger verwendet werden . Wenn Sie eine Nachricht vom Rundfunkempfänger senden möchten.
+1. Arbeitete für meine Anforderung. Aber mir fehlt eines. Diese Nachricht wird in meinen gesendeten Artikeln nicht angezeigt. Warum ist das so?
Tahir Akram
Wir haben nicht den Standard-Inten-Prozess für das Senden von SMS verwendet, sondern nur den SMS-Manager. Die Absicht wird erfüllt, das Protokoll des SmsManager zu pflegen.
Dwivedi Ji
Ja. Das ist sehr nützlich für mich. Aber die Bestätigungsnachricht nach dem Senden von SMS bedeutet, dass es besser sein könnte.
Gunaseelan
3
Ich würde nur empfehlen, diesen Block in try-catch hinzuzufügen.
Tanveer Shaikh
10
In Android haben wir die Klasse SmsManager, die SMS-Vorgänge wie das Senden von Daten-, Text- und Pdu-SMS-Nachrichten verwaltet. Rufen Sie dieses Objekt ab, indem Sie die statische Methode SmsManager.getDefault () aufrufen.
Ich füge meine SMS-Methode hinzu, wenn sie jemandem helfen kann. Seien Sie vorsichtig mit smsManager.sendTextMessage. Wenn der Text zu lang ist, wird die Nachricht nicht ausgeblendet. Sie müssen die maximale Länge abhängig von der Codierung einhalten. Weitere Informationen hier SMS Manager sendet eine mehrteilige Nachricht, wenn weniger als 160 Zeichen vorhanden sind
Einige der oben erläuterten Informationen sind nur dazu gedacht, eine SMS in den Status "Bereit zum Starten" zu versetzen. wie Senthil Mg sagte, können Sie SMS-Manager verwenden, um die SMS direkt aber zu sendenSMSManager wurde aber verschobenandroid.telephony.SmsManager
Ich weiß, dass es nicht viel mehr Informationen gibt, aber es könnte eines Tages jemandem helfen.
Dies ermöglicht das Senden von Textnachrichten über eine vorhandene App. phoneNumber - ist String. Wenn Sie keine Telefonnummer angeben möchten, verwenden Sie die leere Zeichenfolge "".
Update: Wenn Sie Intent zum Senden von SMS verwenden, benötigen Sie keine android.permission.SEND_SMS-Berechtigung.
Nafis Ahmad
0
Sie können die Telefonnummer weglassen, damit der Benutzer nur aus Kontakten auswählen kann, aber Ihren SMS-Text in den Text einfügt. Code ist für Xamarin Android:
var uri =Uri.Parse("smsto:");//append your number here for explicit nbvar intent =newIntent(Intent.ActionSendto, uri);
intent.PutExtra("sms_body", text);Context.StartActivity(intent);
wo
Kontext ist Xamarin.Essentials.Platform.CurrentActivity ?? Application.Context
Antworten:
Sie können den folgenden Code verwenden:
Stellen Sie sicher,
phoneNumber
dass Sie die Telefonnummer festgelegt haben, an die Sie die Nachricht senden möchtenSie können der SMS eine Nachricht hinzufügen mit (aus Kommentaren):
quelle
Das hat bei mir funktioniert.
Sie können diese Zeile in AndroidManifest.xml hinzufügen
Schauen Sie sich auf diese
Dies kann für Sie hilfreich sein.
quelle
Versuchen Sie den folgenden Code und rufen Sie dann an,
sendSMS("99999999999", "message");
um eine SMS in der gewünschten Nummer zu senden.Bitte legen Sie die folgende Erlaubnis in die
AndroidManifest.xml
Datei.Hoffe das könnte helfen.
Update Aus dem Kommentar: DummyClasshere.class ist eine Aktivität, ohne einen Prozess oder die Klasse auszuführen, in der Sie navigieren müssen.
quelle
new Intent()
und das macht es.Dies wird auf jeden Fall funktionieren. Senden Sie in diesem Fall eine Nachricht, ohne eine Absicht zu verwenden.
Dieser Code wird zum Senden von Nachrichten im Hintergrund verwendet (Nachrichtenkomponist wird nicht angezeigt) . Er kann auch im Broadcast-Empfänger verwendet werden . Wenn Sie eine Nachricht vom Rundfunkempfänger senden möchten.
quelle
In Android haben wir die Klasse SmsManager, die SMS-Vorgänge wie das Senden von Daten-, Text- und Pdu-SMS-Nachrichten verwaltet. Rufen Sie dieses Objekt ab, indem Sie die statische Methode SmsManager.getDefault () aufrufen.
SmsManager Javadoc
Überprüfen Sie den folgenden Link, um den Beispielcode für das Senden von SMS zu erhalten:
Artikel zum Senden und Empfangen von SMS-Nachrichten in Android
quelle
Hoffe dieser Code hilft dir :)
quelle
Ich füge meine SMS-Methode hinzu, wenn sie jemandem helfen kann. Seien Sie vorsichtig mit smsManager.sendTextMessage. Wenn der Text zu lang ist, wird die Nachricht nicht ausgeblendet. Sie müssen die maximale Länge abhängig von der Codierung einhalten. Weitere Informationen hier SMS Manager sendet eine mehrteilige Nachricht, wenn weniger als 160 Zeichen vorhanden sind
// ÜBERALL VERWENDEN
//Manifest
//JAVA
quelle
Fügen Sie die folgende Berechtigung in Ihre AndroidManifest.xml-Datei ein
quelle
Einige der oben erläuterten Informationen sind nur dazu gedacht, eine SMS in den Status "Bereit zum Starten" zu versetzen. wie Senthil Mg sagte, können Sie SMS-Manager verwenden, um die SMS direkt aber zu senden
SMSManager
wurde aber verschobenandroid.telephony.SmsManager
Ich weiß, dass es nicht viel mehr Informationen gibt, aber es könnte eines Tages jemandem helfen.
quelle
Hoffe das kann dir helfen ...
Dateiname = MainActivity.java
Fügen Sie diese Zeile in AndroidManifest.xml hinzu
quelle
Dies ermöglicht das Senden von Textnachrichten über eine vorhandene App. phoneNumber - ist String. Wenn Sie keine Telefonnummer angeben möchten, verwenden Sie die leere Zeichenfolge "".
quelle
Senden Sie SMS von KitKat und höher: - Fügen Sie diese Berechtigung in Ihre AndroidManifest.xml ein
Sie sollten auch die Laufzeitberechtigung für Marshmallow und die übergeordnete Version implementieren müssen .
AndroidManifest.xml
Der folgende Code wird angegeben: -
activity_conversation_list.xml
ConversationListActivity.java
Dies ist der Code für das SMS-Layout und zum Senden von SMS: -
activity_compose_sms.xml
fragment_compose_sms.xml
ComposeSMSActivity.java
Das ist es.
quelle
Sie können dies verwenden, um SMS an eine beliebige Nummer zu senden:
quelle
Sie können die Telefonnummer weglassen, damit der Benutzer nur aus Kontakten auswählen kann, aber Ihren SMS-Text in den Text einfügt. Code ist für Xamarin Android:
wo
Kontext ist
Xamarin.Essentials.Platform.CurrentActivity ?? Application.Context
quelle