美文网首页
Android应用取消电池优化

Android应用取消电池优化

作者: 尖叫_ | 来源:发表于2020-09-17 14:12 被阅读0次
    未加入电池优化的白名单时弹出系统选择弹窗,已加入时跳转相应页面
    //在manifest文件中配置权限:
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
    
    import android.os.PowerManager
    import android.provider.Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS
    import android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
    
    /**
     * 忽略电池优化
     */
    private fun ignoreBatteryOptimization(activity: Activity) {
        val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
        var hasIgnored = false
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            hasIgnored = powerManager.isIgnoringBatteryOptimizations(activity.packageName)
            //  判断当前APP是否有加入电池优化的白名单,如果没有,弹出加入电池优化的白名单的设置对话框。
            if (!hasIgnored) {
                //未加入电池优化的白名单 则弹出系统弹窗供用户选择(这个弹窗也是一个页面)
                val intent = Intent(ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
                intent.data = Uri.parse("package:" + activity.packageName)
                startActivity(intent)
            }else{
                //已加入电池优化的白名单 则进入系统电池优化页面
                val powerUsageIntent = Intent(ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS)
                val resolveInfo = packageManager.resolveActivity(powerUsageIntent, 0)
                //判断系统是否有这个页面
                if (resolveInfo != null) {
                    startActivity(powerUsageIntent)
                }
            }
        }
    }
    
    系统弹窗 系统电池优化页面

    相关文章

      网友评论

          本文标题:Android应用取消电池优化

          本文链接:https://www.haomeiwen.com/subject/yyulyktx.html