我使用此代码:
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(message);
sms.sendMultipartTextMessage(number, null, parts, null, null);
执行此代码时显然没有错误,但未收到短信。 发送短(&lt; = 160个字符)短信时,此代码可以成功运行。
原因是什么?
答案 0 :(得分:0)
试试这个:
SmsManager sm = SmsManager.getDefault();
ArrayList<String> parts =sm.divideMessage(LONG_TEXT);
int numParts = parts.size();
ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>();
ArrayList<PendingIntent> deliveryIntents = new ArrayList<PendingIntent>();
for (int i = 0; i < numParts; i++) {
sentIntents.add(PendingIntent.getBroadcast(getContext(), 0, mSendIntent, 0));
deliveryIntents.add(PendingIntent.getBroadcast(getContext(), 0, mDeliveryIntent, 0));
}
sm.sendMultiPartTextMessage(mDestAddr,null, parts, sentIntents, deliveryIntents)
***试试真实设备。
答案 1 :(得分:0)
即使使用我自己的代码,有时也会收到长短信(我特别认为是第一次)。也许某些标准或垃圾邮件预防机制是由蜂窝公司生效的。
随后:
是的,运营商似乎根据某些标准(如许多重复字符)过滤消息。似乎我可以通过发送有意义的信息来避免这种情况。