-->

How to reboot emulator to test ACTION_BOOT_COMPLET

2020-02-16 14:05发布

问题:

Well, I have searched a lot. People say that I need to close the window of emulator to close it. However, I need to reboot the emulator to catch ACTION_BOOT_COMPLETED by my BroadcastReceiver.

How can I do that?

回答1:

You can use the following command from adb:

adb shell am activity/service/broadcast -a ACTION -c CATEGORY -n NAME

for example:

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n package_name/class_name

Note that class name and package names need to be as defined in the Manifest.

This will generate the Intent you want , directed only to the component you want (otherwise you system will go crazy with BOOT_COMPLETED sent...)



回答2:

Or another way (also from the command line):

adb shell stop
adb shell start


回答3:

To emulate a broadcast action, you can connect via adb to the emulator/device and open a shell:

adb shell

Then, you can broadcast the action you want to test:

am broadcast -a android.intent.action.BOOT_COMPLETED

Please note that, in the latest Android versions, broadcasting the *android.intent.action.BOOT_COMPLETED* action will actually reboot your emulator/device.



回答4:

First, make sure that USB Debugging is enabled from within the emulator:

click:

  • the Home icon
  • Menu icon
  • 'Settings'
  • 'Applications'
  • 'Development'
  • make sure that the box next to 'USB debugging' contains a check mark

from a command-line:

adb -e reboot

EDIT:

This definitely doesn't work... very strange. I tested it and could not make the emulator reboot. It just hangs.



回答5:

While using tubemate on android tab, I was not successful in downloading video with the error:host interupped etc. I used the following commands:

adb shell stop
adb shell start

and the application started downloading videos.



回答6:

emulators have on/off button - just click it



回答7:

and another way:

If you start your emulator, and select the "wipe user data" checkbox, you will also receive that notification when boot is completed.