The bounty在2天后过期。这个问题的答案有资格获得+100声望奖励。
                            Sagar Maiyad正在寻找信誉良好的答案。
                        
                    
                
                            
                    
将Google政策更改为不使用SEND_SMS之后。我正在使用短信意图发送带有自定义消息的短信,并自动填充发件人地址。它几乎可以在所有移动设备上工作。但只有在oneplus手机中,收据地址不会被填充

私人无效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专业版)中,没有人可以使用。它适用于所有MI手机,三星,诺基亚,荣耀,摩托罗拉,联想等。仅在oneplus手机中存在问题。

最佳答案

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

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

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

07-25 21:39