android - 打算打开短信应用程序以将短信发送到任何选定的地址?
问题描述
我知道自从 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);
但是有没有办法像短信正文一样预选短信接收方?
解决方案
是的,您可以使用 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);
推荐阅读
- javascript - 使用 react 发送带有状态信息的电子邮件
- rcpp - 在 Rcpp 中,如何将用户定义的结构从 C 获取到 R
- angular - 如何在我的 Angular 4 项目中导入 wavesurfer.js?
- python - 从列表中删除重复列表
- c# - Datagridview在选择复选框时崩溃
- html - 网格模板区域没有响应
- python - 如何使用python3连续解析带有GET query_hash的instagram?
- python-3.x - 从数据框中删除超过 98% 的特征为零的行
- c# - 如何在 SQL Server c# 中将空值插入图像列
- amazon-s3 - 我可以在没有 S3 的情况下使用 AWS Sagemaker