首页 > 解决方案 > 打算打开短信应用程序以将短信发送到任何选定的地址?

问题描述

我知道自从 KitKat 启动 SMS 应用程序的代码如下:

            String default_sms_package_name = Telephony.Sms.getDefaultSmsPackage(context);
            intent = new Intent(Intent.ACTION_SEND);
            intent.setType("text/plain");
            intent.putExtra(Intent.EXTRA_TEXT, body);
            if (default_sms_package_name != null) intent.setPackage(default_sms_package_name);

但是有没有办法像短信正文一样预选短信接收方?

标签: androidsms

解决方案


是的,您可以使用 ACTION_VIEW 并使用地址参数设置任意数量的数字,如下所示。

Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setData(Uri.parse("smsto:"));
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address"  , new String("0123456789;3393993300"));
smsIntent.putExtra("sms_body"  , "Test SMS to Angilla");
startActivity(smsIntent);

推荐阅读