打盹活动时是否可以使用网络访问?如果我的应用程序忽略了电池优化,则不会进入待机状态,但无论如何都会受到打瞌睡的影响。我错过了什么吗?
答案 0 :(得分:6)
在打盹模式下禁用网络访问,无论您的应用程序是否忽略电池优化。将您的设备从休眠模式唤醒并获取网络访问权限的唯一方法是向您的应用发送高优先级的Google云消息。
编辑:可以让Android忽略您应用程序的电池优化,从而有效地禁用应用程序的打盹模式。但是,这需要使用方法 setExactAndAllowWhileIdle (每15分钟最多唤醒一次)和用户交互,这可以这样做:
Intent intent = new Intent();
String packageName = context.getPackageName();
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (pm.isIgnoringBatteryOptimizations(packageName))
intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
else {
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
}
context.startActivity(intent);
答案 1 :(得分:0)
根据documentation,您现在可以为应用程序发出一个前台通知,该通知将克服打ze睡模式,并且您的应用程序应该能够访问网络。