【发布时间】:2019-10-19 16:17:50
【问题描述】:
在 google 政策更改为不使用 SEND_SMS 之后。我正在使用短信意图发送带有自定义消息和自动填充发件人地址的短信。它适用于几乎所有移动设备。但仅在 oneplus 手机中,收款人地址不会被填充
private void sendSMS(String phoneNumber, String message) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
{
String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(getActivity());
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, message);
sendIntent.putExtra("address",phoneNumber);
sendIntent.putExtra("exit_on_sent", true);
if (defaultSmsPackageName != null)
{
sendIntent.setPackage(defaultSmsPackageName);
}
startActivity(sendIntent);
}
else
{
Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address",phoneNumber);
smsIntent.putExtra("sms_body",message);
startActivity(smsIntent);
}
}
我也试过
Intent sendIntent =new Intent(Intent.ACTION_VIEW);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, message);
sendIntent.putExtra("address",phoneNumber);
sendIntent.putExtra("exit_on_sent", true);
sendIntent.setData(Uri.parse("smsto:" + phoneNumber));
and
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra("address", phoneNumber);
intent.putExtra("sms_body", message);
intent.setData(Uri.parse("smsto:" + phoneNumber));
intent.putExtra("exit_on_sent", true);
没有人在 oneplus 手机(3、7 和 7 pro)上工作。它适用于所有 MI 手机、三星、诺基亚、荣耀、摩托罗拉、联想等。仅在一加手机有问题。
【问题讨论】:
-
我也有同样的问题。你找到解决办法了吗?