2012-04-23 4 views
1

Во-первых, я использую эмулятор для проверки этого. Я хочу открыть приложение SMS по умолчанию с текстом сообщения (отправлено в качестве аргумента) и позволить пользователю взять контроль оттуда (и встроенное приложение). Я использую этот код:Android - отправьте SMS через встроенное приложение SMS

Button btnSMS = (Button) findViewById(R.id.btnSMS); 
    btnSMS.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 
      Intent it = new Intent(Intent.ACTION_VIEW); 
      it.putExtra("sms_body", "text"); 
      it.setType("vnd.android-dir/mms-sms"); 
     } 
    }); 

При нажатии кнопки ничего не происходит. Я ожидаю, что приложение по умолчанию для SMS откроется, с текстом и другими полями, которые должен заполнить пользователь, затем отправьте сообщение. Это из-за эмулятора или моего кода? Я также указано разрешение в манифесте:

< использует-разрешение андроида: Name = "android.permission.SEND_SMS"/>

ответ

6

У вас не хватает startActivity ::

Intent it = new Intent(Intent.ACTION_VIEW); 
it.putExtra("sms_body", "text"); 
it.setType("vnd.android-dir/mms-sms"); 
startActivity(it); 

или вы также можете использовать приведенный ниже код:

String number = "12346556"; // The number on which you want to send SMS 
startActivity(new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", number, null))); 
+0

Какой беспорядок в моей голове! Благодаря! – ali

+0

Спасибо, этот код работает отлично .... !!!!! –

1

Отправка SMS с помощью встроенного SMS-приложения:

Intent i = new Intent(android.content.Intent.ACTION_VIEW); 

i.putExtra("address", "09090909; 092322424; 123456778"); 

i.putExtra("sms_body", "SMS Content"); 

i.setType("vnd.android-dir/mms-sms"); 

startActivity(i); 
Смежные вопросы