Commit 1ffb3b9c authored by leichao.gao's avatar leichao.gao

update

parent d09d2cd3
package com.base.browserwhite.help
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.provider.Settings
object BatteryOptimizationIntentHelper {
// 获取请求忽略电池优化的 Intent
fun getIgnoreBatteryOptimizationIntent(context: Context): Intent {
val intent = Intent("android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS")
intent.data = Uri.parse("package:" + context.packageName)
return if (areActivityIntent(context, intent)) {
intent
} else {
getBatteryOptimizationSettingsIntent(context)
}
}
// 获取电池优化设置的 Intent
fun getBatteryOptimizationSettingsIntent(context: Context): Intent {
val intent = Intent("android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS")
return if (areActivityIntent(context, intent)) {
intent
} else {
getApplicationDetailsIntent(context)
}
}
// 获取应用详情页面的 Intent
fun getApplicationDetailsIntent(context: Context): Intent {
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
intent.data = Uri.parse("package:" + context.packageName)
return intent
}
// 检查是否存在可以处理给定 Intent 的 Activity
fun areActivityIntent(context: Context, intent: Intent): Boolean {
return context.packageManager.queryIntentActivities(intent, 0).size > 0
}
}
\ No newline at end of file
package com.base.browserwhite.utils package com.base.browserwhite.utils
import android.content.Context import android.content.Context
import android.os.Build import android.content.Intent
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.util.TypedValue import android.util.TypedValue
import android.view.WindowManager import android.view.WindowManager
object Utils{ object Utils{
// 扩展函数:dp 转 px // 扩展函数:dp 转 px
...@@ -21,5 +22,16 @@ object Utils{ ...@@ -21,5 +22,16 @@ object Utils{
display.getMetrics(metrics) display.getMetrics(metrics)
return metrics.widthPixels return metrics.widthPixels
} }
// private fun getIgnoreBatteryPermissionIntent( context: Context): Intent {
// var intent = Intent("android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS")
// intent.setData(PermissionUtils.getPackageNameUri(context))
// if (!PermissionUtils.areActivityIntent(context, intent)) {
// intent = Intent("android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS")
// }
// return if (!PermissionUtils.areActivityIntent(
// context,
// intent
// )
// ) PermissionIntentManager.getApplicationDetailsIntent(context) else intent
// }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment