Skip to content

Commit 94fd377

Browse files
authored
Unregister ScreenOnReceiver when the launching service is destroyed
1 parent 3532780 commit 94fd377

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

app/src/main/java/ai/elimu/kukariri/service/ScreenOnService.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ import android.os.IBinder
88
import android.util.Log
99

1010
class ScreenOnService : Service() {
11+
12+
private lateinit var screenOnReceiver: ScreenOnReceiver
13+
1114
override fun onBind(intent: Intent): IBinder? {
1215
return null
1316
}
@@ -16,9 +19,18 @@ class ScreenOnService : Service() {
1619
Log.i(javaClass.name, "onStartCommand")
1720

1821
// Register receiver for detecting when the screen is turned on
19-
val screenOnReceiver = ScreenOnReceiver()
22+
screenOnReceiver = ScreenOnReceiver()
2023
registerReceiver(screenOnReceiver, IntentFilter(Intent.ACTION_SCREEN_ON))
2124

2225
return super.onStartCommand(intent, flags, startId)
2326
}
27+
28+
override fun onDestroy() {
29+
super.onDestroy()
30+
try {
31+
unregisterReceiver(screenOnReceiver)
32+
} catch (e: Exception) {
33+
e.printStackTrace()
34+
}
35+
}
2436
}

0 commit comments

Comments
 (0)