Browse Source

1.修改离开当前页面语音还在播放bug

王鹏鹏 2 years ago
parent
commit
f766446ba6
1 changed files with 15 additions and 1 deletions
  1. 15 1
      game/src/main/java/com/yingyangfly/game/play/PlayGameActivity.kt

+ 15 - 1
game/src/main/java/com/yingyangfly/game/play/PlayGameActivity.kt

@@ -1,6 +1,9 @@
 package com.yingyangfly.game.play
 
 import android.annotation.SuppressLint
+import android.app.Activity
+import android.app.ActivityManager
+import android.content.Context
 import android.content.Intent
 import android.os.Build
 import android.os.Bundle
@@ -428,8 +431,10 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
                     }
                 }
                 if (voicePlayer != null) {
-                    voicePlayer?.play(it) {
+                    if (isTopActivity(this)) {
+                        voicePlayer?.play(it) {
 
+                        }
                     }
                 }
             }
@@ -517,4 +522,13 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
             "completionTrainingDialog"
         )
     }
+
+    /**
+     * 判断当前activity是否位于栈顶
+     */
+    private fun isTopActivity(activity: Activity): Boolean {
+        val am = activity.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
+        val cn = am.getRunningTasks(1)[0].topActivity
+        return cn!!.className == activity.javaClass.name
+    }
 }