打do模式下的网络访问

问题描述 投票:9回答:2

启用打is睡后是否可以使用网络访问?如果我的应用程序忽略了电池优化功能,则它不会处于待机状态,但无论如何它都会受到打do的影响。我想念什么吗?

android android-6.0-marshmallow
2个回答
6
投票

在打application模式下,网络访问被禁用,无论您的应用程序是在忽略电池优化。从休眠模式唤醒设备并获得网络访问权限的唯一方法是向应用程序发送高优先级Google Cloud Message。

编辑:可以让Android忽略您的应用程序的电池优化,从而有效地禁用应用程序的打ze模式。但是,这需要使用方法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);

0
投票

您还需要将以下代码添加到AndroidManifest.xml

<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"></uses-permission>
© www.soinside.com 2019 - 2024. All rights reserved.