2013-08-01 3 views
0

Я нашел не совсем точное место в документации SmsManager.Что такое управление SMS на основе приложений?

Класс SMSManager, метод sendTextMessage, параметр sentIntent (http://developer.android.com/reference/android/telephony/SmsManager.html):

The per-application based SMS control checks sentIntent. If 
sentIntent is NULL the caller will be checked against all 
unknown applications, which cause smaller number of SMS to 
be sent in checking period. 

Что это значит? Какой контроль будет выполняться? Кто (какой компонент) выполняет? Что такое известные и неизвестные приложения? Что может быть результатом проверки?

ответ

0

Этот текст относится к sentIntent. В ОС Android Android есть некоторые разумные пределы для отправки SMS без разрешения пользователя, заданного каждый раз. Если эти ограничения превышены, пользователю предоставляется разрешение на отправку разрешения SMS. Пределы подсчитываются обычно для каждого приложения, но если вы не установите sentIntent, тогда нет возможности узнать класс SmsUsageMonitor, из которого приложение отправляет запрос на отправку SMS, поэтому он будет считать ваше ограничение на приложение вместе с другими приложениями, t установите sentIntent, и ограничение будет меньше. В результате лучше всего предоставить sentIntent, даже если он фиктивный.

0

Существуют ограничения и ограничения на количество сообщений, отправляемых приложением в течение определенного периода времени. Он реализован в SmsUsageMonitor (по крайней мере, в Android 4.x).

Например, взгляните на SmsUsageMonitor.check (String APPNAME, внутр smsWaiting):

public boolean More ...check(String appName, int smsWaiting) { 
    /* ... */ 
    return isUnderLimit(sentList, smsWaiting); 
} 

Как вы можете видеть, есть список SMS-сообщений, отправить с помощью приложения. isUnderLimit() просто проверяет, не превышает ли этот список лимит.

Смежные вопросы