我如何正确地触发ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS意图?

正如文件中所述:

“持有REQUEST_IGNORE_BATTERY_OPTIMIZATIONS权限的应用程序可以触发系统对话框,让用户直接将应用程序添加到白名单,而无需进行设置。应用程序触发ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS意图触发对话。

有人可以告诉我正确的方法来解决这个问题吗?

Solutions Collecting From Web of "我如何正确地触发ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS意图?"

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); 

请参阅此答案以获取更多信息。

为避免Google Play商店暂停使用,请将用户更改为电池优化设置,手动添加应用程序至白名单

 Intent myIntent = new Intent(); myIntent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); startActivity(myIntent); 

也不需要有

 <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/> 

清单文件中的权限