Android: SMS заблокировано приложением ChatON

Я написал приложение, которое получает входящие SMS-сообщения, сохраняет их и отображает пользователям. Внезапно мое приложение перестало получать SMS из-за обновления приложения Samsung ChatOn.

Вот мой Manifest.xml:

 <uses-permission android:name="android.permission.RECEIVE_SMS" />


 <receiver android:name="com.myapp.sms.service.SMSReceiver"
     android:permission="android.permission.BROADCAST_SMS" android:exported="true">
     <intent-filter android:priority="999">
         <action android:name="android.provider.Telephony.SMS_RECEIVED" />
     </intent-filter>
 </receiver>

У меня была эта проблема ранее с Hangout, который начал поддерживать SMS. Итак, в то время я добавил приоритет 999 (максимальное значение) в файле манифеста. И это сработало.

Но после недавнего обновления приложения ChatOn мое приложение перестало получать SMS. Пожалуйста, скажите мне, как я могу преодолеть это.

Чтобы обойти эту проблему, я отключил опцию SMS в приложении ChatOn.

Любая помощь приветствуется.

1 ответ

Не существует гарантированного способа, которым ваше приложение может получить "первый взлом" в SMS-сообщениях на Android 4.3 и ниже. Даже если вы установите для своего приложения самый высокий приоритет, другие приложения могут делать то же самое. GoSMS, в частности, делает это, и вы указали, что ChatOn делает то же самое. Если они сначала получат сообщение и прервут трансляцию, вы не получите сообщение.

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

Обратите внимание, что в Android 4.4 это сильно отличается:

  • Трансляция больше не может быть прервана
  • Существуют отдельные широковещательные рассылки для приложений, которые отслеживают SMS и фактическое конечное приложение клиента SMS
Другие вопросы по тегам