SMS Intent不会仅在oneplus手机中填充收件人

时间:2019-06-04 06:49:23

标签: java android

在Google政策更改为不使用SEND_SMS之后。我正在使用短信意图发送带有自定义消息的短信,并自动填充发件人地址。它几乎可以在所有移动设备上工作。但是只有在oneplus手机中,收据地址才不会填充

private void sendSMS(字符串phoneNumber,字符串消息){

tableview

我也尝试过

    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);
    }

}

oneplus手机(3、7和7 pro)都无法使用。它适用于所有MI手机,三星,诺基亚,荣耀,摩托罗拉,联想等。仅在oneplus手机中存在问题。

1 个答案:

答案 0 :(得分:1)

enter image description here enter image description here

我在下面做了尝试,它为我成功地工作了。在One Plus 3t上进行了测试。

            String phoneNumber="+91xxxxxxxxxx";
            String message ="Hi ABZ";
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));
            intent.putExtra("sms_body", message);
            startActivity(intent);[![enter image description here][1]][1]