Я пишу приемник SMS для приложения Android и столкнулся с интересной проблемой.
Во-первых, это работает! Хорошо, так что вы можете подумать, тогда в чем проблема? Итак, работать и работать отлично - это очень разные вещи. Я могу отправлять SMS-сообщения на телефон, и он срабатывает в моей функции onReceive и выполняет то, что я хочу.
Проблема: это работает только при отправке SMS-сообщений с другого телефона. Я неоднократно пытался отправлять текстовые сообщения со своего компьютера на разные веб-сайты. http://www.freetxt.ca/, http://www.txt2day.com/. Но ни одно из этих отправленных SMS-сообщений не вызывает событие SMS_RECEIVED, но все они принимаются телефоном в виде SMS-сообщения и попадают в мой почтовый ящик.
Это ошибка? С телефона работает отлично, с компьютера вообще не работает. Событие вызвано тем форматом ввода, которого нет у генерируемых компьютером SMS?
Это поставило меня в тупик. У кого-нибудь есть понимание этого?
Вот часть моего манифеста. Работает с телефонными смс сообщениями:
<receiver android:name="com.blah.Listeners.SMSReceiver" android:enabled="true">
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_SMS" />
UPDATE !! :
Благодаря комментариям ниже и этой записи мне удалось вызвать WAP_PUSH_RECEIVED для перехвата входящих MMS-сообщений. Я добавил следующее в мой файл манифеста:
<receiver android:name="com.desDemo.Listeners.PushReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
Кто-нибудь знает, как я могу получить содержимое сообщения от моего получателя?