Как узнать, что мое устройство перезагрузилось, если HONEYCOMB BOOT COMPLETED больше не поддерживается?

Я разрабатываю приложение в Android 4.0.3. Я читал, что событие HONEYCOMB BOOT COMPLETED больше не поддерживается, согласно Документация Google.

Учитывая это, как я могу узнать, что мое устройство перезагрузилось?

КОД -

Класс Java: -

public class MyStartupIntentReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        Logger.i("Device", "REBOOT");
        Logger.i("Device", "REBOOT");
        Logger.i("Device", "REBOOT");
        Logger.i("Device", "REBOOT");
        Logger.i("Device", "REBOOT");
    }
}

Файл манифеста: -

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<receiver android:name="MyStartupIntentReceiver" >
    <intent-filter>
       <action android:name="android.intent.action.BOOT_COMPLETED" />
       <category android:name="android.intent.category.HOME" />
    </intent-filter>
</receiver>

person Scorpion    schedule 01.01.2013    source источник


Ответы (2)


извините, но, возможно, вы ошибаетесь в документации, в любом случае убедитесь, что вы включаете разрешение <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> в свой манифест. Я использую эту трансляцию во многих приложениях, и они отлично работают.

Убедитесь, что вы также знаете об этой информации, которая BOOT_COMPLETE отправляется в приложения перед подключением внешнего хранилища. Поэтому, если приложение установлено на внешнее хранилище, оно не получит широковещательное сообщение BOOT_COMPLETE.

person confucius    schedule 01.01.2013
comment
Спасибо за Ваш ответ. Я добавил фрагмент своего кода. Но у меня это не работает. Не могли бы вы проверить и сказать мне, где я делаю ошибку. - person Scorpion; 01.01.2013
comment
имя пакета в файлах манифеста совпадает с пакетом, в котором транслируется MyStartupIntentReceiver?? - person confucius; 01.01.2013

Я разрабатываю приложение в Android 4.0.3. Я читал, что событие HONEYCOMB BOOT COMPLETED больше не поддерживается, согласно документации Google.

Вы неверно истолковали документацию. BOOT_COMPLETED поддерживается. Однако для этого требуется, чтобы некоторые компоненты вашего приложения запускались вручную, прежде чем любой зарегистрированный BroadcastReceiver заработает. Как правило, это делается путем запуска действия. Следовательно, если вы просто установите приложение и перезапустите устройство, вы не получите управление во время загрузки.

Подробнее об этом можно прочитать в разделе "Элементы управления запуском остановленных приложений" Примечания к выпуску Android 3.1, а также в этом блоге сообщение.

person CommonsWare    schedule 01.01.2013