Intereting Posts
AlarmManager не работает должным образом Как изменить цвет слов с помощью hashtags Проблема с добавлением общих элементов arraylist в третьем arraylist, использующем для цикла Как отклонить DialogFragment при нажатии вне диалогового окна? Сохранить base64 строку как изображение с помощью phonegap? Исключение Null в ActionBar Как подключить файл к электронной почте из папки данных на устройстве Как предотвратить автоматическое восстановление Retrofit после 302 Изменение цвета фона в раскрывающемся списке автозаполнения searchview Каковы различия между FLAG_ACTIVITY_RESET_TASK_IF_NEEDED и FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP? Ошибка выполнения команды 'ant' в Mac OS X 10.9 Mavericks при создании Android с помощью PhoneGap / Cordova В чем разница между аниматором и анимацией? Как проверить, завершил ли sendBroadcast свою работу Java.security.InvalidKeyException: Недопустимый размер ключа или параметры по умолчанию в android Как обрабатывать ошибку redirect_uri_mismatch, когда приложение Android получает автономный доступ для веб-back-end?

Как отлаживать сообщения BOOT_COMPLETE в широковещательном приемнике «Force Close»?

Так как телефон перезагружается и, таким образом, отключается от отладчика Eclipse / LogCat во время загрузки, как я могу увидеть, где сбой вашего загрузочного полноправного приемника?

Я выполняю некоторые действия в onReceive () моего открытого класса. BootCompleteReceiver расширяет BroadcastReceiver {…}

Это приводит к сбою и всплывает диалоговое окно принудительного закрытия при загрузке телефона. Как мне отладить это и посмотреть, где проблема?

Вопрос верен для отладки любых BOOT_COMPLETE .

Благодаря!

РЕДАКТИРОВАТЬ

Да, мы можем видеть системные журналы в LogCat по мере загрузки телефона, но мое приложение Log.d (TAG, «Boot completed») должно ждать, пока он (onReceive) будет запущен, но к тому времени приложение выйдет из строя, потому что проблема Где-то в самом приемнике. Приложение сработает, прежде чем я смогу записать что-либо. Кроме того, я не могу использовать «Запуск в режиме отладки» для перезапуска телефона …

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

Как я писал в другой теме:

Вы можете эмулировать все действия трансляции, подключаясь через adb к устройству и открывая оболочку устройства.

Вот так:

  • Открыть консоль / терминал и перейти к / платформенным инструментам
  • Типа "adb shell" или на linux / mac "./adb shell"
  • В типе оболочки «am broadcast -a android.intent.action.BOOT_COMPLETED» или любое другое действие, которое вы хотите запустить.

Таким образом, вы должны уметь отлаживать.

Есть куча приятных команд, идущих с adb или оболочкой adb. Просто попробуйте

С уважением, Фло

EDIT: использование вышеуказанного метода также перезагрузит устройство. Чтобы предотвратить перезагрузку устройства, используйте am broadcast -a android.intent.action.BOOT_COMPLETED com.example.app . Обратите внимание на суффикс с именем пакета приложения, к которому идет трансляция. Это позволяет отправлять намерение BOOT_COMPLETED ТОЛЬКО вашему приложению для целей отладки. Роэл ван Уден

Приемник управляет только при запуске вашего кода (т.е. при запуске телефона). Во время отладки запустите код вручную. Вы можете решить 99% своих проблем таким образом, а остальные (если есть), которые вы можете решить, написав LogCat, чтобы узнать, что делает ваш код.

Просто поставьте свой терминал в Android Studio

adb shell am broadcast -a android.intent.action.BOOT_COMPLETE