How to opt-out my app from android M DOZE mode ?
你不能通过任何已知的机制.
Is there a standard way to include and exclude apps from DOZE and auto standby selectively at run time ?
理论上,用户可以在“设置”中切换“忽略优化”选项,将应用程序放在不应进入应用程序待机模式的应用程序白名单中.这不会影响打盹模式.
引用somebody who I believe is Dianne Hackborn:
While the device is dozing,syncs and jobs are turned off globally,putting an app on the whitelist does not change the behavior for them. This is the intended behavior,as is the lack of free use of the alarm manager. (One of the key aspects of all of these is that they are ways to cause the device to wake up,and anything that causes it to wake up will have a significant impact on battery life in the durations we want to last while dozing,so it is simply not allowed.)
While dozing,the AndAllowWhileIdle APIs allow you to wake up the device at most once every 15 minutes; when not dozing this is raise to once every minute. When the device is in idle maintenance mode,all of the doze restrictions are removed (so AllowWhileIdle can happen once a minute).
注意,“空闲维护模式”目前没有记录.我的猜测是,这是指一个闲置但正在充电的设备.