спасибо за твой код и я хочу добавить, так как мне нужно поставить свой предопределенный текст. Я получил это решение Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse ("sms:" + phoneNumber)); intent.putExtra ("sms_body", message); startActivity (намерение);
DJK
1
как установить "номер телефона" из списка контактов?
Саид М.
@djk спасибо, я хочу прочитать все контакты и хочу собственную страницу для отправки смс с автозаполнением, но я не могу прочитать контакты какой-либо хороший учебник?
Гуру
Я бы использовал виджет составления смс по умолчанию для этого. просто оставьте номер телефона пустым (это необязательно)
Shem
1
Здравствуй. Я хочу отправить смс оптом. как 10000 смс отправить в один клик. Является ли это возможным ? я слышал, андроид отправляет 30 смс каждые 30 минут. Пожалуйста, помогите мне
Врадеш
151
Это сработало для меня.
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);}
Вы можете добавить эту строку в AndroidManifest.xml
Вопрос требует показа SMS в стандартном представлении составления. Это полная противоположность, отправка смс за спиной пользователя, нет?
Ян Худек
Не удается отправить сообщение, если в нем есть апостроф.
берсерк
39
Попробуйте указанный ниже код, а затем позвоните, sendSMS("99999999999", "message");чтобы отправить смс на нужный номер.
//---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);}
Пожалуйста, поместите следующее разрешение в AndroidManifest.xmlфайл.
Этот код используется для отправки сообщения в фоновом режиме (не отображается компоновщик сообщений) , он также может работать внутри приемника вещания . Если вы хотите отправить сообщение от приемника Broadcast.
+1. Работал по моему требованию. Но мне не хватает одной вещи. Это сообщение не отображается в моих отправленных материалах. Почему это так?
Тахир Акрам
Мы не использовали стандартный процесс Inten для отправки смс, мы просто используем Sms Manager. Намерение встретится для ведения журнала SmsManager.
Двиведи Джи
Да. Это очень полезно для меня. Но подтверждающее сообщение, которое выдается после отправки смс, означает, что это может быть лучше.
Gunaseelan
3
Я бы просто рекомендовал добавить этот блок в try-catch.
Танвеер Шейх
10
В Android у нас есть класс SmsManager, который управляет SMS-операциями, такими как отправка SMS-сообщений с данными, текстом и pdu. Получите этот объект, вызвав статический метод SmsManager.getDefault ().
Часть из того, что объяснялось выше, предназначена только для перевода SMS в состояние готовности к запуску. как сказал Сентил Мг, вы можете использовать менеджер смс для отправки смс напрямую, ноSMSManager был перемещен вandroid.telephony.SmsManager
Я знаю, что это не так много информации, но это может кому-то помочь.
Это позволяет отправлять текстовые сообщения через существующее приложение. phoneNumber - это строка. Если вы не хотите указывать номер телефона, используйте пустую строку "".
Обновление: если вы используете Intent для отправки смс, вам не нужно разрешение android.permission.SEND_SMS.
Нафис Ахмад
0
Вы можете опустить номер телефона, чтобы позволить пользователю просто выбирать из контактов, но вставлять текст вашего смс в тело. Код для 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);
Ответы:
Вы можете использовать следующий код:
Убедитесь, что вы
phoneNumber
указали номер телефона, на который хотите отправить сообщениеВы можете добавить сообщение в SMS с (из комментариев):
источник
Это сработало для меня.
Вы можете добавить эту строку в AndroidManifest.xml
Взгляни на это
Это может быть полезно для вас.
источник
Попробуйте указанный ниже код, а затем позвоните,
sendSMS("99999999999", "message");
чтобы отправить смс на нужный номер.Пожалуйста, поместите следующее разрешение в
AndroidManifest.xml
файл.Надеюсь, это поможет.
Обновление Из комментария: DummyClasshere.class - это действие без выполнения какого-либо процесса или класса, в котором вам нужно перемещаться.
источник
new Intent()
и это делает это.Это определенно будет работать, в этом, отправлять сообщения без каких-либо намерений.
Этот код используется для отправки сообщения в фоновом режиме (не отображается компоновщик сообщений) , он также может работать внутри приемника вещания . Если вы хотите отправить сообщение от приемника Broadcast.
источник
В Android у нас есть класс SmsManager, который управляет SMS-операциями, такими как отправка SMS-сообщений с данными, текстом и pdu. Получите этот объект, вызвав статический метод SmsManager.getDefault ().
SmsManager Javadoc
Проверьте следующую ссылку, чтобы получить пример кода для отправки SMS:
статья об отправке и получении SMS-сообщений в Android
источник
Надеюсь, этот код поможет вам :)
источник
Я добавляю свой метод SMS, если это может кому-то помочь. Будьте осторожны с smsManager.sendTextMessage. Если текст слишком длинный, сообщение не исчезнет. Вы должны соблюдать максимальную длину в зависимости от кодировки. Подробнее см. Менеджер SMS отправляет многократное сообщение, если его длина менее 160 символов.
// ИСПОЛЬЗОВАТЬ ВСЕГДА
// Manifest
//ЯВА
источник
Включите следующее разрешение в свой файл AndroidManifest.xml
источник
Часть из того, что объяснялось выше, предназначена только для перевода SMS в состояние готовности к запуску. как сказал Сентил Мг, вы можете использовать менеджер смс для отправки смс напрямую, но
SMSManager
был перемещен вandroid.telephony.SmsManager
Я знаю, что это не так много информации, но это может кому-то помочь.
источник
Надеюсь, это поможет вам ...
Имя файла = MainActivity.java
добавить эту строку в AndroidManifest.xml
источник
Это позволяет отправлять текстовые сообщения через существующее приложение. phoneNumber - это строка. Если вы не хотите указывать номер телефона, используйте пустую строку "".
источник
Отправьте SMS с KitKat и выше: - добавьте это разрешение в свой AndroidManifest.xml
Вы должны также реализовать разрешение времени выполнения для Marshmallow и Above Version.
AndroidManifest.xml
Код, который будет приведен ниже: -
activity_conversation_list.xml
ConversationListActivity.java
Это код для размещения смс и для отправки SMS: -
activity_compose_sms.xml
fragment_compose_sms.xml
ComposeSMSActivity.java
Вот и все.
источник
Вы можете использовать это для отправки смс на любой номер:
источник
Вы можете опустить номер телефона, чтобы позволить пользователю просто выбирать из контактов, но вставлять текст вашего смс в тело. Код для Xamarin Android:
где
Контекст
Xamarin.Essentials.Platform.CurrentActivity ?? Application.Context
источник