我想创建一个新的移动应用程序。这个新的应用程序将是混合的,需要列入白名单。如今,我有一个Android原生应用程序,它请求启动Intent ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS的权限,让用户可以接受/拒绝请求。
需要权限,因为即使移动设备进入休眠/待机模式,我的应用也必须将数据发送到私人服务器。
是否有可能使用离子或反应原生物来实现类似的东西(我还没有决定我将使用哪种混合技术,并且也赞赏任何建议。)
谢谢!
答案 0 :(得分:0)
是
在android / app / src / main / AndroidManifest.xml上添加:
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
在android / app / src / main / java // MainApplication上添加:
import android.os.PowerManager;
import android.net.Uri;
import android.provider.Settings;
然后在SoLoader.init()之前在函数public void onCreate()上进行操作;添加:
Intent myIntent = new Intent();
String packageName = getApplicationContext().getPackageName();
PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
if (pm.isIgnoringBatteryOptimizations(packageName))
myIntent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
else {
myIntent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
myIntent.setData(Uri.parse("package:" + packageName));
}
getApplicationContext().startActivity(myIntent);