Приемник при загрузке не работает в эмуляторе - PullRequest
0 голосов
/ 17 сентября 2018

Для большей ясности я обращаюсь к получателю, который реагирует на android.intent.action.BOOT_COMPLETED.

Я успешно протестировал этот приемник, работающий на физическом устройстве с API 23.

Но, с другой стороны, я не смог даже запустить его на эмуляторе, на данный момент, в версиях 22 и 24, даже не похоже, что он достигает OnReceive приемника, приемник просто игнорируется.

Это ограничение эмулятора, которое не позволяет запускать приемники такого типа? Если это так, могу ли я хотя бы предположить, что даже если эмулятор не работает, он будет срабатывать на физическом устройстве? (В целях тестирования я мог бы запустить приемник откуда-то еще, так что это не сильно помешало бы, пока это условие применимо).

Также может быть, что объявлен получатель так, что он не работает в этих версиях, вот как я объявил получателя:

 <receiver
        android:name="com.applications.-----.--------.NoCoverageAndSpaceFullReceiver"
        android:label="StartMyServiceAtBootReceiver">
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            <action android:name="android.net.conn.ACTION_TIMEZONE_CHANGED" />
            <action android:name="android.net.conn.ACTION_TIME_CHANGED" />
            <action android:name="android.intent.action.BOOT_COMPLETED" />

        </intent-filter>
    </receiver>

Я не думаю, что там есть что-то, что могло бы помешать работе ресивера, но на всякий случай я его ставлю.

PD: я уже настроил эмулятор для холодной загрузки, так что проблема не в этом.

1 Ответ

0 голосов
/ 17 сентября 2018

Если вы не загружаете эмулятор в холодном режиме, вам, вероятно, также следует добавить следующее действие.

<action android:name="android.intent.action.QUICKBOOT_POWERON" />
...