Horis 2 yıl önce
ebeveyn
işleme
7ff1628323

+ 16 - 8
app/src/main/java/io/legado/app/service/AudioPlayService.kt

@@ -584,7 +584,7 @@ class AudioPlayService : BaseService(),
         }
         }
     }
     }
 
 
-    private fun  createNotification(): NotificationCompat.Builder {
+    private fun createNotification(): NotificationCompat.Builder {
         var nTitle: String = when {
         var nTitle: String = when {
             pause -> getString(R.string.audio_pause)
             pause -> getString(R.string.audio_pause)
             timeMinute in 1..60 -> getString(
             timeMinute in 1..60 -> getString(
@@ -642,11 +642,14 @@ class AudioPlayService : BaseService(),
         return builder
         return builder
     }
     }
 
 
-    private fun  upAudioPlayNotification() {
+    private fun upAudioPlayNotification() {
         execute {
         execute {
-            createNotification()
-        }.onSuccess {
-            notificationManager.notify(NotificationId.AudioPlayService, it.build())
+            try {
+                val notification = createNotification()
+                notificationManager.notify(NotificationId.AudioPlayService, notification.build())
+            } catch (e: Exception) {
+                AppLog.put("创建音频播放通知出错,${e.localizedMessage}", e, true)
+            }
         }
         }
     }
     }
 
 
@@ -655,9 +658,14 @@ class AudioPlayService : BaseService(),
      */
      */
     override fun startForegroundNotification() {
     override fun startForegroundNotification() {
         execute {
         execute {
-            createNotification()
-        }.onSuccess {
-            startForeground(NotificationId.AudioPlayService, it.build())
+            try {
+                val notification = createNotification()
+                startForeground(NotificationId.AudioPlayService, notification.build())
+            } catch (e: Exception) {
+                AppLog.put("创建音频播放通知出错,${e.localizedMessage}", e, true)
+                //创建通知出错不结束服务就会崩溃,服务必须绑定通知
+                stopSelf()
+            }
         }
         }
     }
     }
 
 

+ 14 - 12
app/src/main/java/io/legado/app/service/BaseReadAloudService.kt

@@ -471,11 +471,12 @@ abstract class BaseReadAloudService : BaseService(),
 
 
     private fun upReadAloudNotification() {
     private fun upReadAloudNotification() {
         execute {
         execute {
-            createNotification()
-        }.onSuccess {
-            notificationManager.notify(NotificationId.ReadAloudService, it.build())
-        }.onError {
-            AppLog.put("创建朗读通知出错,${it.localizedMessage}", it, true)
+            try {
+                val notification = createNotification()
+                notificationManager.notify(NotificationId.ReadAloudService, notification.build())
+            } catch (e: Exception) {
+                AppLog.put("创建朗读通知出错,${e.localizedMessage}", e, true)
+            }
         }
         }
     }
     }
 
 
@@ -542,13 +543,14 @@ abstract class BaseReadAloudService : BaseService(),
      */
      */
     override fun startForegroundNotification() {
     override fun startForegroundNotification() {
         execute {
         execute {
-            createNotification()
-        }.onSuccess {
-            startForeground(NotificationId.ReadAloudService, it.build())
-        }.onError {
-            AppLog.put("创建朗读通知出错,${it.localizedMessage}", it, true)
-            //创建通知出错不结束服务就会崩溃,服务必须绑定通知
-            stopSelf()
+            try {
+                val notification = createNotification()
+                startForeground(NotificationId.ReadAloudService, notification.build())
+            } catch (e: Exception) {
+                AppLog.put("创建朗读通知出错,${e.localizedMessage}", e, true)
+                //创建通知出错不结束服务就会崩溃,服务必须绑定通知
+                stopSelf()
+            }
         }
         }
     }
     }