在我的应用中,我想向一堆数字发送群发短信,我想知道短信的收件人列表是否有时间限制或大小限制。
我在之前的问题中看到的是当前Android版本中不再存在的代码,如对当前代码中不再存在的SMSDispatcher和Settings常量的引用。
答案 0 :(得分:4)
在浏览了我的应用支持的所有API的Android资源后,我使用以下代码
private void setSmsDefaultLimitations(){
int apiLevel = Build.VERSION.SDK_INT;
String versionRelease = Build.VERSION.RELEASE;
switch(apiLevel){
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
sMaxAllowed = 100;
sCheckPeriod = 3600000;
break;
case 16:
sMaxAllowed = 30;
sCheckPeriod = 1800000;
break;
case 17:
sMaxAllowed = 30;
if(versionRelease.contains("4.2.2")){
sCheckPeriod = 60000;
}else {
sCheckPeriod = 1800000;
}
break;
case 18:
sMaxAllowed = 30;
sCheckPeriod = 60000;
break;
default:
sMaxAllowed = 30;
sCheckPeriod = 1800000;
break;
}
sMaxAllowed = sMaxAllowed - 2; //This is to give us a little buffer to be extra safe (like a condom ;)
Log.d(TAG, "maxAllowed = "+sMaxAllowed+"; checkPeriod = "+(sCheckPeriod/60000) + " minutes");
}
答案 1 :(得分:0)
短信发送限制不迟于Gingerbread引入。据我所知,我进行了彻底的调查,从API到API的限制各不相同,通常无法在非root设备上覆盖这些限制。如果可能,那些是罕见的例外。我认为当前最小值是30分钟内的30条消息,但这可能会有所变化。谷歌是老板。
话虽这么说,如果你的应用程序只能从你的设备或受控设备数量的设备发送消息,你可以通过生根设备然后将SMS_OUTGOING_CHECK_MAX_COUNT设置为一个巨大的数字(比如说99999)来解决这个问题: / p>
此外,如果您正在为单个API开发应用,那么Google应该具有特定限制。
答案 2 :(得分:-1)
您可以通过SMS发送给个人的数量是160.您可以使用SmsManager类方法的sendMultiPartTextMessage()。
EXAMPLES:
https://stackoverflow.com/a/3939791/254567
AND