2012-04-03 4 views
0

Мое приложение имеет статический широковещательный приемник, который прослушивает конкретные данные sms на порту 50011, чтобы разбудить приложение и запустить.Android ICS не получает данные sms

Я тестировал приложение на широком диапазоне устройств Android (Android 2.1 -> android 2.3.4), и он отлично работает. Тем не менее, я сейчас пытаюсь использовать Samsung Galaxy Nexus под управлением Android 4.0.2, и он не получает бинарные sms. OS, похоже, не потребляет это SMS, поскольку оно не отображает соответствующие сообщения в logcat.

Кто-нибудь знаком с этой проблемой? Это очень актуально: S

Благодаря

Вот приемник часть, которую я написал в манифесте.

<receiver 
     android:name=".SmsListener"> 
     <intent-filter android:priority="10" > 
      <action android:name="android.intent.action.DATA_SMS_RECEIVED" /> 
      <data android:scheme="sms" /> 
      <data android:host="localhost" /> 
      <data android:port="50011" /> 
     </intent-filter> 
    </receiver> 
+0

является 'android.intent.action.DATA_SMS_RECEIVED' частью официального API? – Selvin

+0

Я уверен, что если его часть api, плохо позвольте вам знать вскоре – Shatazone

+1

, я не могу найти ее здесь: http://developer.android.com/reference/android/Manifest.permission.html поэтому ее не часть официального api? – Shatazone

ответ

1

Оказалось, что приложение не будет регистрировать свои широковещательные приемники до тех пор, пока пользователь не начнет выполнять какие-либо действия.

В моем случае приложение не содержало никаких действий.

Я добавил активность и снова работает. : D

Спасибо всем за помощь.

0

сделал вам определить android.permission.RECEIVE_SMS разрешение в приложении Manfest?

+0

Да, я уже добавил это разрешение и работает над предыдущими версиями ОС – Shatazone