首先,我使用模拟器来测试它。 我想打开带有消息文本的默认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”/>
答案 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);