Хорошо, я много искал. Люди говорят, что мне нужно закрыть окно эмулятора, чтобы закрыть его. Тем не менее, мне нужно перезагрузить эмулятор, чтобы поймать ACTION_BOOT_COMPLETE
D моим BroadcastReceiver
.
Как я могу это сделать?
Хорошо, я много искал. Люди говорят, что мне нужно закрыть окно эмулятора, чтобы закрыть его. Тем не менее, мне нужно перезагрузить эмулятор, чтобы поймать ACTION_BOOT_COMPLETE
D моим BroadcastReceiver
.
Как я могу это сделать?
Вы можете использовать следующую команду из adb:
adb shell am activity/service/broadcast -a ACTION -c CATEGORY -n NAME
например:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n package_name/class_name
Обратите внимание, что имена классов и имена пакетов должны быть такими, как определено в манифесте.
Это приведет к желаемому намерению, направленному только на тот компонент, который вы хотите (в противном случае система будет сходить с ума при отправке BOOT_COMPLETED...)
Или другим способом (также из командной строки):
adb shell stop
adb shell start
Чтобы эмулировать действие широковещания, вы можете подключиться через adb к эмулятору/устройству и открыть оболочку:
adb shell
Затем вы можете транслировать действие, которое хотите проверить:
am broadcast -a android.intent.action.BOOT_COMPLETED
Обратите внимание, что в последних версиях Android трансляция действия * android.intent.action.BOOT_COMPLETED * фактически перезагрузит ваш эмулятор/устройство.
Сначала убедитесь, что в эмуляторе включена функция "Отладка USB":
нажмите:
из командной строки:
adb -e reboot
EDIT:
Это определенно не работает... очень странно. Я протестировал его и не смог перезагрузить эмулятор. Он просто висит.
При использовании tubemate
на вкладке Android мне не удалось загрузить видео с помощью error:host interupped
и т.д. Я использовал следующие команды:
adb shell stop
adb shell start
и приложение начало загружать видео.
у эмуляторов есть кнопка включения/выключения - просто нажмите
и другим способом:
Если вы запустите свой эмулятор и установите флажок "стереть пользовательские данные", вы также получите это уведомление при завершении загрузки.