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
import android.content.Context
import android.os.Build
import android.content.Intent
import android.util.DisplayMetrics
import android.util.TypedValue
import android.view.WindowManager
object Utils{
// 扩展函数:dp 转 px
......@@ -21,5 +22,16 @@ object Utils{
display.getMetrics(metrics)
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