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

ali*_*ali 1 sms android 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");
        }
    });
Run Code Online (Sandbox Code Playgroud)

当我按下按钮时没有任何反应.我希望打开SMS默认应用程序,使用用户必须填写的文本和其他字段,然后发送消息.这是因为模拟器还是我的代码?我还在清单中指定了权限:

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

Sha*_*wal 6

你缺少startActivity ::

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

或者您也可以使用以下代码::

String number = "12346556";  // The number on which you want to send SMS  
startActivity(new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", number, null)));
Run Code Online (Sandbox Code Playgroud)