从背景发送短信

时间:2015-07-30 10:29:42

标签: android sms smsmanager

 1)  Uri uri = Uri.parse("smsto:" + phoneNumber);
                    Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
                    intent.putExtra("sms_body", smsBody);

                    startActivity(intent);

这是发送短信的代码。但action_SENDTO不会直接向其他用户发送短信。 action_sendto只显示sms框填充其他用户名和smsbody。

如何将短信直接发送给有短信机构的其他用户?

2) SmsManager smsManager = SmsManager.getDefault();
   smsManager.sendTextMessage(phoneNumber, null, smsBody , null, null);

这是另一个代码也无效......

3 个答案:

答案 0 :(得分:0)

向您的清单添加发送短信权限

答案 1 :(得分:0)

在清单中添加此内容:

<uses-permission android:name="android.permission.SEND_SMS"/>

您的应用必须拥有发送短信的权利

答案 2 :(得分:0)

首先转到AndroidManifest文件并添加以下代码

<uses-permission android:name="android.permission.SEND_SMS" />

之后goto mainactivity复制以下函数

private void sendLongSMS(String messag) {

    String phoneNumber = "+countrycode_mobilenumber"; // like this +911234567890
    String message = messag; // up to 160 characters 

    SmsManager smsManager = SmsManager.getDefault();
    ArrayList<String> parts = smsManager.divideMessage(message);
    smsManager.sendMultipartTextMessage(phoneNumber, null, parts, null, null);
}

之后调用oncreate中的上述函数就可以了。

请在真实设备中测试此代码。