1 fun checkBattery(){
2 var main = activity as MainActivity
3 if(main.isIgnoringBatteryOptimizations()){
4 Log.e("SplashFrgmt","在白名单")
5 }else{
6 Log.e("SplashFrgmt","不在白名单")
7 main.requestIgnoreBatteryOptimizations()
8 }
9 }
10
11 fun requestIgnoreBatteryOptimizations(){
12 try {
13 var intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
14 intent.setData(Uri.parse("package:" + getPackageName()))
15 val battery = 3032
16 startActivityForResult(intent,battery)
17 } catch ( e : Exception) {
18 e.printStackTrace()
19 }
20 }
21
22 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
23 super.onActivityResult(requestCode, resultCode, data)
24 val NOTIFY_PER = 10293
25 val BATTERY = 3032
26
27 when(requestCode){
28 NOTIFY_PER-> {
29 ...
30 }
31 BATTERY->{
32 var ret = isIgnoringBatteryOptimizations()
33 Log.e("requestCode","requestCode = $resultCode ,ret = $ret")
34 if(!ret){
35 Toast.makeText(baseContext,"申请忽略电池节电失败,锁屏后应用可能被杀!",Toast.LENGTH_LONG).show()
36 }
37 }
38 }
39 }
fun checkBattery(){
var main = activity as MainActivity
if(main.isIgnoringBatteryOptimizations()){
Log.e("SplashFrgmt","在白名单")
}else{
Log.e("SplashFrgmt","不在白名单")
main.requestIgnoreBatteryOptimizations()
}
}