abb*_*767 6 android adb android-service android-doze
有一个旧的Android应用程序,它工作后台2服务(服务).
更新应用程序时可能会发送数据和记录,而工作不是新的DozeMode.在修改当前代码之前,我决定检查一切现在如何工作.要运行应用程序,在日志中我看到两个服务都在运行(读取设备位置的服务的基本含义,第二个服务将数据发送到服务器).使用命令关闭屏幕
adb shell dumpsys deviceidle step
Run Code Online (Sandbox Code Playgroud)
将系统转换为DozeMode:
Nikita:app NG$ adb shell dumpsys deviceidle step
Stepped to: ACTIVE
Nikita:app NG$ adb shell dumpsys deviceidle step
Stepped to: IDLE_PENDING
Nikita:app NG$ adb shell dumpsys deviceidle step
Stepped to: SENSING
Nikita:app NG$ adb shell dumpsys deviceidle step
Stepped to: LOCATING
Nikita:app NG$ adb shell dumpsys deviceidle step
Stepped to: IDLE
Run Code Online (Sandbox Code Playgroud)
如果我理解正确的一切 - IDLE只是相同的模式,根据文档,所有服务,jobsheduler,报警管理器和其他背景组件应该被关闭.但这不会发生.根据日志判断,应用程序按预期工作,DozeMode要么我做错了.
告诉我,也许有任何最佳实践用于测试DozeMode和(后期)将服务重写为更现代的,如果在后台有任何行动(即当你关闭应用程序时).
Android 6,BlackView BV6000S,应用程序在允许非最佳电池寿命的列表中丢失(白名单)
UPD:Nikita:app NG$ adb shell dumpsys deviceidle force-idle
现在被迫进入空闲模式app工作
Aiv*_*sDa 14
以下是有关空闲模式的一些有用信息:
deviceidle - 是一个新的Android服务,它将始终运行并侦听多个系统事件,这些事件可以在空闲模式(也称为打盹模式)中触发/退出:
1.Screen on/off
2.Charging status
3.Significant motion detect
Run Code Online (Sandbox Code Playgroud)
DeviceIdleController - 当设备处于唤醒和使用状态时,控制器处于ACTIVE状态.外部事件,如不活动超时,用户关闭屏幕,运动检测......将驱动状态机进入INACTIVE状态.此状态机包含七种状态:
1.ACTIVE - Device is in use, or connected to a charge source.
2.INACTIVE - Device has recently come out of the active state, meaning that user turned off the display or unplugged it.
3.IDLE_PENDING - Hold on, we are about to enter idle mode.
4.SENSING
5.LOCATING
6.IDLE - Device is idle.
7.IDLE_MAINTENANCE - Window is open for applications to do processing. Then will back to IDLE.
Run Code Online (Sandbox Code Playgroud)
空闲状态 - 为了使设备进入空闲状态,您可以使用以下adb命令:
>adb shell dumpsys battery unplug
>adb shell dumpsys deviceidle force-idle
Run Code Online (Sandbox Code Playgroud)
活动状态 - 为了使设备恢复活动状态,您可以模拟以下关键事件:
> adb shell input keyevent KEYCODE_WAKEUP
Run Code Online (Sandbox Code Playgroud)
我还需要一个快速选项来在Active和Idle状态之间切换,所以我为这些目的写了一个批处理脚本adbIdleModeSwitch.bat,你可以下载并使用它:https: //drive.google.com/file/d/0B81qFnPX_eUUYTMxOTd1UG94NVk/view
| 归档时间: |
|
| 查看次数: |
5937 次 |
| 最近记录: |