Horis 2 лет назад
Родитель
Сommit
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()