2013-09-29 29 views
1

在我的應用程序中,我想發送大量短信到一堆數字,並且我想知道是否有短信的收件人列表的時間閾值或大小限制。是否有限制發送短信號碼的數量?

所有我在以前看到的問題是,在目前已不存在建立的Android喜歡SMSDispatcher和設置常數,在當前的代碼不再存在引用代碼。

+0

我肯定記得這個彈出一個對話框,如果你試圖在太短髮送太多短信後一段時間,雖然我忘記了細節。 – CommonsWare

+0

這裏有什麼運氣? @thepoosh我試圖找到這個問題,以及 – asheinfeld

回答

3

通過Android資源去爲我的應用程序所支持的所有API我凸輪起來與下面的代碼

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"); 
} 
+0

@asheinfeld請注意這個答案 – thepoosh

-1

您可以通過短信發送給個人的數量爲160.您可以使用SmsManager類方法的sendMultiPartTextMessage()。

  EXAMPLES: 

https://stackoverflow.com/a/3939791/254567

https://stackoverflow.com/a/6590782/254567

+2

這是個字符的消息數量,而不是收件人數目的限制限制的解決方案。 – CommonsWare

+0

我的壞處。我相信你可以在同一時間發送短信最多50個收件人。 – user2828530

+0

@ user2828530,任何來源嗎?我通過了SMSDispatcher去了,什麼也沒發現 – thepoosh

0

短信發送上限不晚於薑餅介紹。據我所知,我調查徹底,從API到API的限制各不相同,並且通常不可能在無根設備上覆蓋這些限制。如果可能的話,那些是罕見的例外。我認爲目前的最短時間是30分鐘內的30封郵件,但這可能會發生變化。谷歌是老闆。這就是說,如果你的應用程序應該只從你的設備發送消息或從受控數量的設備發送消息,你可以通過生根設備,然後將SMS_OUTGOING_CHECK_MAX_COUNT設置爲一個巨大的數字(比如99999)來解決這個問題:

  • /data/data/com.android.providers.settings/databases/settings.db
    1. 安全
    2. 系統
  • /data/data/com.google.android.gsf/databases/gservices.db
    1. 主要

另外,如果你正在開發一個應用程序一個API,你應該谷歌它的具體限制。