Horis 2 سال پیش
والد
کامیت
ecad823ed9
1فایلهای تغییر یافته به همراه10 افزوده شده و 2 حذف شده
  1. 10 2
      app/src/main/java/io/legado/app/help/AppFreezeMonitor.kt

+ 10 - 2
app/src/main/java/io/legado/app/help/AppFreezeMonitor.kt

@@ -23,14 +23,22 @@ object AppFreezeMonitor {
         ScreenStatusReceiver()
     }
 
+    private var registeredReceiver = false
+
     @SuppressLint("UnspecifiedRegisterReceiverFlag")
     fun init(context: Context) {
         if (!AppConfig.recordLog) {
-            context.unregisterReceiver(screenStatusReceiver)
+            if (registeredReceiver) {
+                registeredReceiver = false
+                context.unregisterReceiver(screenStatusReceiver)
+            }
             return
         }
 
-        context.registerReceiver(screenStatusReceiver, screenStatusReceiver.filter)
+        if (!registeredReceiver) {
+            registeredReceiver = true
+            context.registerReceiver(screenStatusReceiver, screenStatusReceiver.filter)
+        }
 
         var previous = SystemClock.uptimeMillis()