Commit a748883a authored by wanglei's avatar wanglei

...

parent 6072b4d3
...@@ -32,15 +32,14 @@ import com.base.pdfviewerscannerwhite.utils.LogEx ...@@ -32,15 +32,14 @@ import com.base.pdfviewerscannerwhite.utils.LogEx
class StayJobService : JobService() { class StayJobService : JobService() {
init { init {
val builder = Configuration.Builder() val builder = Configuration.Builder()
builder.setJobSchedulerJobIdRange(0, 1000) builder.setJobSchedulerJobIdRange(0, 1000)
} }
private val TAG = "StayNotificationService" private val TAG = "StayJobService"
val channelName = "PDF Reader Foreground Service Channel" private val channelName = "PDF Reader Foreground Service Channel"
val channelId = "PDF_Reader_Service_Id" private val channelId = "PDF_Reader_Service_Id"
val NOTIFICATION_PERMANENT_ID = 186 private val NOTIFICATION_PERMANENT_ID = 186
companion object { companion object {
...@@ -111,6 +110,7 @@ class StayJobService : JobService() { ...@@ -111,6 +110,7 @@ class StayJobService : JobService() {
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
//监听媒体库变化 //监听媒体库变化
observerMediaContentObserver() observerMediaContentObserver()
...@@ -132,6 +132,15 @@ class StayJobService : JobService() { ...@@ -132,6 +132,15 @@ class StayJobService : JobService() {
isRunning = true isRunning = true
} }
private fun notifyForeground() {
val notificationManager =
getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.notify(
NOTIFICATION_PERMANENT_ID,
createPermanentNotification(applicationContext)
)
}
override fun onDestroy() { override fun onDestroy() {
isRunning = false isRunning = false
...@@ -139,12 +148,11 @@ class StayJobService : JobService() { ...@@ -139,12 +148,11 @@ class StayJobService : JobService() {
} }
override fun onCreate() { override fun onCreate() {
LogEx.logDebug(TAG, "onCreate isRunning=$isRunning")
if (!isRunning) { if (!isRunning) {
startForeground()
isRunning = true isRunning = true
Timer { startForeground()
startForeground() Timer().start()
}.apply { start() }
} }
super.onCreate() super.onCreate()
} }
...@@ -157,6 +165,18 @@ class StayJobService : JobService() { ...@@ -157,6 +165,18 @@ class StayJobService : JobService() {
return false return false
} }
private inner class Timer() : CountDownTimer(30000, 1000) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
notifyForeground()
Timer().start()
}
}
private var mediaContentObserver: MediaContentObserver? = null private var mediaContentObserver: MediaContentObserver? = null
private fun observerMediaContentObserver() { private fun observerMediaContentObserver() {
...@@ -168,19 +188,8 @@ class StayJobService : JobService() { ...@@ -168,19 +188,8 @@ class StayJobService : JobService() {
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, it MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, it
) )
} }
} }
} }
} }
class Timer(val block: () -> Unit) : CountDownTimer(30000, 1000) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
Timer {
block()
}.apply { start() }
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment