Как скрыть непрочитанные смс уведомления?

Я пишу приложение, которое обрабатывает SMS-сообщения и, как я планирую, должно заменить стандартное / стандартное приложение.

Я перехватываю android.provider.Telephony.SMS_RECEIVED трансляция с помощью входящих SMS и публикации моего собственного уведомления, а затем звонит abortBroadcast()Таким образом, в конце концов, нет никаких уведомлений о входящих новых сообщениях, что приводит к стандартному / стоковому приложению.

Но проблема в том, что когда пользователь не читает достаточно долго (что-то, например, несколько минут), входящее SMS-приложение / приложение по умолчанию вызывает другую трансляцию - я подозреваю, что просто проверяю, что есть непрочитанные смс. Таким образом, пользователь видит 2 уведомления: одно из стандартного / стандартного приложения для обмена сообщениями, а другое - от шахт, которые запутались.

Я не могу найти, какая трансляция сработала, когда есть непрочитанные смс?

Есть идеи, намеки?

1 ответ

Вы можете установить приоритет вашего получателя таким образом, чтобы вы знали, что он имеет высший приоритет и выполнит onReceive() метод:

<receiver android:name=".SmsReceiver" android:enabled="true"
    android:exported="true" android:priority="999">
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>
Другие вопросы по тегам