31

好吧,我已经搜索了很多。人们说我需要关闭模拟器的窗口才能关闭它。但是,我需要重新启动模拟器才能ACTION_BOOT_COMPLETE通过我的BroadcastReceiver.

我怎样才能做到这一点?

4

7 回答 7

36

您可以使用 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

请注意,类名和包名需要在 Manifest 中定义。

这将生成您想要的 Intent,仅定向到您想要的组件(否则您的系统会因发送 BOOT_COMPLETED 而发疯......)

于 2012-02-13T08:06:25.213 回答
31

或另一种方式(也从命令行):

adb shell stop
adb shell start
于 2012-02-11T16:18:05.453 回答
9

首先,确保从模拟器中启用 USB 调试:

点击:

  • 主页图标
  • 菜单图标
  • '设置'
  • '应用程序'
  • '发展'
  • 确保“USB 调试”旁边的框包含复选标记

从命令行:

adb -e reboot

编辑:

这绝对行不通……很奇怪。我对其进行了测试,无法使模拟器重新启动。它只是挂起。

于 2012-02-11T16:13:23.743 回答
8

要模拟广播动作,您可以通过adb连接到模拟器/设备并打开一个 shell:

adb shell

然后,您可以广播您要测试的操作:

am broadcast -a android.intent.action.BOOT_COMPLETED

请注意,在最新的 Android 版本中,广播 *android.intent.action.BOOT_COMPLETED* 操作实际上会重新启动您的模拟器/设备。

于 2013-09-27T16:24:17.253 回答
0

在android选项卡上使用tubemate时,我没有成功下载视频error:host interupped等。我使用了以下命令:

adb shell stop
adb shell start

应用程序开始下载视频。

于 2014-07-08T14:34:30.533 回答
-2

emulators have on/off button - just click it

于 2012-02-11T16:10:33.413 回答
-3

另一种方式:

如果您启动模拟器,并选择“擦除用户数据”复选框,您还将在启动完成时收到该通知。

于 2012-02-11T16:19:24.203 回答