2012-02-01 5 views
1

У меня есть приложение для Android, которое слушает SMS-сообщения. Это находится в манифесте:Приемник вещания для Android не получает сразу после установки

<receiver android:name=".IncomingSMSBroadcastReceiver" android:enabled="true"> 
     <intent-filter android:priority="100"> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED"/> 
     </intent-filter> 
</receiver> 

Широковещательные приемники прекрасно работают, если приложение установлено и открыто. Но я хочу, чтобы получатель мог быть вызван сразу после установки, в случае, если пользователь удаленно установлен с веб-сайта Android Market и не существует перед телефоном. Когда я устанавливаю APK с помощью adb

./adb install myapp.apk 

Я вижу, что приложение установлено. Но когда я отправляю SMS-сообщение, мое приложение не отвечает. После того как я открою приложение один раз, кажется, что вся инициализация происходит в этот момент, и теперь приложение отлично реагирует на SMS-сообщения.

Одна из возможностей заключается в том, что установка АБР отличается от установки на рынке.

Любые идеи?

ответ

0

Вы используете разрешение READ_SMS в манифесте?

Как вы применили метод onReceive() приемника?

Можете ли вы отправить код получателя?

+0

Я думаю, что нет необходимости размещать код. Его приемник работает нормально – Sameer

+0

Да приемник работает. я хочу, чтобы он работал над установкой; приложение не нужно открывать. – amit

0

Невозможно. AFAIK до тех пор, пока приемник не будет зарегистрирован, тогда он не сможет обнаружить какое-либо действие. У вас нет проблем с кодом. Но ваш приемник будет работать, когда он начнет один. Для этого мы должны запустить наше приложение хотя бы один раз. Итак, этот манифест зарегистрирует Получатель

+0

Как они это делают? https://market.android.com/details?id=com.lookout.labs.planb – amit

+0

он нигде не упоминает о том, что приложение не нужно запускать once.AFAIK это базовая концепция андроида. Ваш приемник будет работать после его запуска – Sameer

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