谁能告诉我如何在我的根设备中模拟低电量?
我经历了这个问题,但没有找到太多关于此的信息。
借助 Android Emulator 的扩展控件,现在可以使用名为“Charge Level”的 GUI 滑块设置电池电量。
要访问它,请启动模拟器。然后单击设置面板底部的“...”(悬停在模拟器右侧)。
这将打开包含“电池”菜单项的扩展控制面板:
Charge Level 滑块从 0 变为 100%。您还可以通过调整其他下拉控件来模拟故障/过热/等物理电池,并关闭充电器。
据我所知,默认情况下不提供模拟电池电量不足的功能。(如果您使用 eclipse 作为 im)。但如果你在 linux 中,你可以使用 telnet 连接到你的本地主机模拟器并执行“电源”操作。(没用过也许你可以试试) http://handycodeworks.com/?p=46
但你不必经历那个过程。只需为 ACTION_BATTERY_LOW 注册一个广播接收器,保证在低电量场景下调用。
希望能帮助到你
编辑:
这是直接答案(假设您正在运行 Windows)。
如果您还没有在 Windows 上启用“telnet”。
控制面板->程序->在“程序和功能”下选择“打开或关闭Windows功能”->打开一个新窗口选择“远程网络客户端”并单击“确定”。
以管理员权限启动命令提示符(在 AllPrograms 中搜索“cmd”并右键单击它并选择以管理员身份运行)。
然后使用这个命令
1)telnet localhost 5554 //where 5554 is your emulator id, which is displayed top left corner of ur emulator
2)power capacity 10 //set the battery level to 10%
3)power ac off //turns off charging mode
现在您可以在模拟器中看到低电量对话框。
使用以下命令
要模拟被拔出的设备:
adb shell dumpsys battery unplug
要测试设备在低功率条件下的行为:
adb shell settings put global low_power 1
完成测试后,您可以使用以下命令撤消手动设备设置:
adb shell dumpsys battery reset
电池可以拆卸吗?如果是这样,请获取备用电池并将其保持在低电量状态以进行低电量测试。
@user2240369的链接实际上会引导您找到正确的答案。你应该做这个:
telnet localhost 5554 #or wahtever port you are using
power capacity 60
您可以创建ActivityInstrumentationTestCase2
并调用各种onPause
、onStop
和onDestroy
方法来模拟内存不足的情况,只有onPause
保证被调用:
在系统需要更多内存的情况下,它可能会终止暂停的进程以回收资源。因此,您应该确保在您从此函数返回时保存所有状态。通常 onSaveInstanceState(Bundle) 用于在活动中保存每个实例的状态,并且此 (onPause) 方法用于存储全局持久数据(在内容提供程序、文件等中)