【发布时间】:2015-12-14 03:30:52
【问题描述】:
此问题与将于本月底最终发布的 Android 6.0 Preview 3 有关。
我正在 Nexus 5“锤头”上的 Google 预览版 3 中测试 Android 6.0 中的一些内容。
新功能是“打盹模式”——类似于深度睡眠模式,当网络被禁用且手机处于睡眠状态时,只有 SMS、通话或高优先级 GCM 消息可以将其唤醒。但就像 WhatsApp - 在打瞌睡模式下,它会在 2 小时或更长时间后收到消息,这取决于计时器。但是有一个名为“白名单”的“未优化”应用列表,您可以在其中手动添加应用。
好的,我想找到一种方法以编程方式将我的应用程序添加到电池设置中设备中存在的“白名单应用程序列表”中,而无需用户交互。
尝试使用反射进入我发现:
在 android.os.IDeviceIdleController 中有一个方法:
public abstract void addPowerSaveWhitelistApp(String packageNameOfApp)
但这是一个接口……所以我们不能创建接口的实例。
目前还没有关于此接口或方法或任何继承树的文档。
也许你知道我应该在哪里寻找以编程方式添加我的应用程序的可能性?
还有一种方法
public abstract boolean isPowerSaveWhitelistApp (String packageName)
我认为应该可以以某种方式访问?!检查应用程序是否存在于白名单中,并可能在最后希望用户将其添加到白名单中。
所以我的问题是,你们有没有人尝试过做出更好的结果?因为我被困住了,我认为这是一个死胡同。
更多信息:https://newcircle.com/s/post/1739/2015/06/12/diving-into-android-m-doze
【问题讨论】:
标签: java android preview android-6.0-marshmallow