Какое событие сообщает вам, что устройство успешно запущено - PullRequest
1 голос
/ 25 ноября 2011

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

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

Спасибо

1 Ответ

2 голосов
/ 26 ноября 2011

Можно узнать, запускается ли система, используя:

ApplicationManager.isStartup()

Вам нужно будет опросить это, используя таймер, пока он не вернет false. Однако следует иметь в виду, что это означает, что ОС загрузилась и система может запустить приложение. Это не означает, что вся среда для запуска вашего приложения полностью настроена. Например (как отметил Майкл), карта microSD, возможно, не была смонтирована, сетевое подключение может быть не установлено или какая-либо другая служба, от которой может зависеть ваше приложение, еще не доступна. Это зависит от вас, чтобы убедиться, что они доступны, прежде чем приступить к работе вашего приложения.

Подход, который вам нужен:

  1. Опрос, если isStartup возвращает false (система не находится в фазе запуска)
  2. Реализовать FileSystemListener, чтобы проверить, установлена ​​ли карта microSD.

Обратите внимание, что для подключения карты microSD используется имя «SDCard».

class FileSystemListenerImpl implements FileSystemListener
 {
      final static String SDCARD_NAME ="SDCard/";


    public FileSystemListenerImpl(  )
    {

    }

    public void rootChanged( int state, String rootName )
    {
        if( state ==  FileSystemListener.ROOT_ADDED)
        {

            if( SDCARD_NAME.equals(rootName))
            {
                _isMicroSDReady=true;
                scheduleApplicationStart();
                removeFileSystemListener(this);
            }
        }
        else if( state == FileSystemListener.ROOT_REMOVED)
        {

        }
    }

 }
...