Приемник Android-трансляции не вызывается сразу после установки - PullRequest
1 голос
/ 01 февраля 2012

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

<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-сообщения.

Одна из возможностей состоит в том, что установка ADB отличается от установки Market.

Есть идеи?

1 Ответ

0 голосов
/ 01 февраля 2012

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

...