短信通过短信管理器发送时没有到达其他设备
问题描述:
我想用我的android手机发送短信到另一个使用短信管理器的手机。代码工作正常,没有错误。但是当我在发送短信之后进行测试时,短信尚未在其他设备上显示。我对此进行了很多搜索,但没有得到任何解决方案。另外我有双SIM卡..有没有问题....? 以下是我的代码短信通过短信管理器发送时没有到达其他设备
public void test(View v)
{
askPermission();
try {
String phoneNumber = "1234567890";
String message = "This sms is sent by Meenakshi ";
SmsManager smsManager = SmsManager.getDefault();
//ArrayList<String> parts = smsManager.divideMessage(message);
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
Toast.makeText(birthday_wish.this, "Message Sent",
Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
e.printStackTrace();
Toast.makeText(birthday_wish.this, "Message not Sent",
Toast.LENGTH_LONG).show();
}
}
private void askPermission() {
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.SEND_SMS},1);
}
在清单 -
<uses-permission android:name="android.permission.SEND_SMS"></uses-
permission>
答
尝试这个
String phoneNumber = "1234567890";
String smsBody= "This sms is sent by Meenakshi ";
try {
SmsManager smsManager = SmsManager.getDefault();
PendingIntent piSend = PendingIntent.getBroadcast(mContext, 0, new Intent("SMS_SENT"), 0);
PendingIntent piDelivered = PendingIntent.getBroadcast(mContext, 0, new Intent("SMS_DELIVERED"), 0);
if (smsBody.length() > 160) {
ArrayList<String> msgList = smsManager.divideMessage(smsBody);
smsManager.sendMultipartTextMessage(mobile, null, msgList, null, null);
} else {
smsManager.sendTextMessage(mobile, null, smsBody, piSend, piDelivered);
}
} catch (Exception e) {
e.printStackTrace();
}
+0
我试过你的解决方案,但它不工作.... –
发表您的logcat这里 –
,我不知道,但这个问题可能与供应商,你能不能能够尝试与其他服务提供商SIM卡。 – Sree
我测试了你的代码。它工作正常。我发送短信给一个完整的号码..与国际数字...像+112123456789(国际代码,区号和号码)....所以,无论是载体的问题,或者你发送到错误的号码(不发送数字格式预计由您的运营商) – W0rmH0le