Xamarin Android 添加电池优化白名单

 

先说几句

假如没有在清单中勾选 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS  权限,那么执行下面的方法会打开设置

而勾选该权限执行下面的方法则会直接提示同意还是不同意,点同意就直接添加了,不会打开设置

该方法要放在Activity中,也就是说需要this参数

AppInfo.PackageName 在 Xamarin.Essentials 中

 

void PowerSettings()
        {
            //REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
            if (Build.VERSION.SdkInt >=  BuildVersionCodes.M)
            {
                Intent intent = new Intent();
                string packageName = AppInfo.PackageName;
                PowerManager pm = (PowerManager)GetSystemService(Service.PowerService);
                if (!pm.IsIgnoringBatteryOptimizations(packageName))
                {
                    
                    intent.SetAction(Android.Provider.Settings.ActionRequestIgnoreBatteryOptimizations);
                    intent.SetData(Android.Net.Uri.Parse("package:" + packageName));
                    StartActivity(intent);
                }
            }
        }

 

posted @ 2021-04-12 19:06  FfD4edyo  阅读(638)  评论(1)    收藏  举报