소스 검색

Merge pull request #2 from RebekkaMa/hotfix/Resolve-too-many-receivers-exception

Unregisters BroadcastReceivers
RebekkaMa 4 년 전
부모
커밋
240f83e42f
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      app/src/main/java/net/folivo/android/smsGatewayServer/MessageManager.kt

+ 4 - 2
app/src/main/java/net/folivo/android/smsGatewayServer/MessageManager.kt

@@ -41,11 +41,12 @@ class MessageManager(private val applicationContext: Context) {
 
         val sendStatusChannel = Channel<Int>(Channel.UNLIMITED)
 
-        applicationContext.registerReceiver(object : BroadcastReceiver() {
+        val broadcastReceiver = object : BroadcastReceiver(){
             override fun onReceive(context: Context?, intent: Intent?) {
                 sendStatusChannel.sendBlocking(resultCode)
             }
-        }, IntentFilter(sentAction))
+        }
+        applicationContext.registerReceiver(broadcastReceiver, IntentFilter(sentAction))
 
         val smsManager: SmsManager = SmsManager.getDefault()
         val multipartMessageArray = smsManager.divideMessage(message)
@@ -108,6 +109,7 @@ class MessageManager(private val applicationContext: Context) {
         } else {
             Log.i(logTag, "Message has not been successfully sent")
         }
+        applicationContext.unregisterReceiver(broadcastReceiver)
         return resultPair
     }