这个问题与Android 6.0 Preview 3有关,它将在本月底发布.
我在Nexus 5'hackhead'的谷歌预览版3中测试Android 6.0中的一些东西.
新功能是"打盹模式" - 类似于深度睡眠模式,当网络被禁用和手机休眠时,只有SMS,呼叫或高优先级GCM消息才能将其唤醒.但是像WhatsApp一样 - 在打盹模式下,它在2小时或更长时间后接收消息取决于计时器.但是有一个名为"白名单"的"未优化"应用列表,您可以手动添加应用.
好的,我想找到一种方法来以编程方式添加我的应用程序而无需用户交互到电池设置中设备中存在的"白名单应用列表".
试着用反射进入它我发现:
在android.os.IDeviceIdleController中有一个方法:
public abstract void addPowerSaveWhitelistApp(String packageNameOfApp)
但这是一个接口......所以我们不能创建一个接口实例.
目前还没有关于此接口或方法或任何继承树的文档.
也许你有一些想法我应该在哪里寻找以编程方式添加我的应用程序的可能性?
还有一种方法
public abstract boolean isPowerSaveWhitelistApp(String packageName)
我认为应该可以以某种方式访问?!检查应用程序是否存在于白名单中,也许最后希望ASK用户将其添加到白名单.
所以我的问题是,有没有人试图用更好的结果做出一些事情?因为我被困住了,我认为这是一个死胡同.
欲了解更多信息:https://newcircle.com/s/post/1739/2015/06/12/diving-into-android-m-doze