pull/32/head
parent
1dfda8ffde
commit
4cdeb061ca
@ -0,0 +1,45 @@ |
||||
package io.legado.app.utils |
||||
|
||||
import android.annotation.SuppressLint |
||||
import android.app.Activity |
||||
import android.content.Context |
||||
import android.content.Context.POWER_SERVICE |
||||
import android.content.Intent |
||||
import android.net.Uri |
||||
import android.os.PowerManager |
||||
import android.provider.Settings |
||||
|
||||
object SystemUtils { |
||||
|
||||
fun getScreenOffTime(context: Context): Int { |
||||
var screenOffTime = 0 |
||||
try { |
||||
screenOffTime = Settings.System.getInt( |
||||
context.contentResolver, |
||||
Settings.System.SCREEN_OFF_TIMEOUT |
||||
) |
||||
} catch (e: Exception) { |
||||
e.printStackTrace() |
||||
} |
||||
|
||||
return screenOffTime |
||||
} |
||||
|
||||
fun ignoreBatteryOptimization(activity: Activity) { |
||||
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.M) return |
||||
|
||||
val powerManager = activity.getSystemService(POWER_SERVICE) as PowerManager |
||||
val hasIgnored = powerManager.isIgnoringBatteryOptimizations(activity.packageName) |
||||
// 判断当前APP是否有加入电池优化的白名单,如果没有,弹出加入电池优化的白名单的设置对话框。 |
||||
if (!hasIgnored) { |
||||
try { |
||||
@SuppressLint("BatteryLife") |
||||
val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) |
||||
intent.data = Uri.parse("package:" + activity.packageName) |
||||
activity.startActivity(intent) |
||||
} catch (ignored: Throwable) { |
||||
} |
||||
|
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue