Android - 通过内置的SMS应用程序发送短信

时间:2012-04-23 13:59:09

标签: android sms default

首先,我使用模拟器来测试它。 我想打开带有消息文本的默认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默认应用程序,使用用户必须填写的文本和其他字段,然后发送消息。这是因为模拟器还是我的代码?我还在清单中指定了权限:

< uses-permission android:name =“android.permission.SEND_SMS”/>

2 个答案:

答案 0 :(得分: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)));

答案 1 :(得分:1)

使用内置短信应用发送短信:

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);