瀏覽代碼

1.修改完成任务后收到IM消息没有弹窗提示bug

王鹏鹏 2 年之前
父節點
當前提交
4d44d77574

+ 1 - 1
game/src/main/AndroidManifest.xml

@@ -16,7 +16,7 @@
         <activity
             android:name="com.yingyangfly.game.introduction.GameIntroductionActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
-            android:launchMode="singleInstance"
+            android:launchMode="singleTop"
             android:screenOrientation="landscape"
             android:theme="@style/IntroduceFullActivity"
             android:windowSoftInputMode="adjustResize|adjustPan" />

+ 0 - 142
game/src/main/java/com/yingyangfly/game/play/PlayGameActivity.kt

@@ -7,7 +7,6 @@ import android.content.Context
 import android.content.Intent
 import android.os.Build
 import android.text.TextUtils
-import android.util.Log
 import android.view.MotionEvent
 import android.view.View
 import android.view.ViewTreeObserver
@@ -21,13 +20,8 @@ import androidx.constraintlayout.widget.ConstraintSet
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.alibaba.android.arouter.launcher.ARouter
 import com.bumptech.glide.Glide
-import com.tencent.imsdk.v2.V2TIMAdvancedMsgListener
-import com.tencent.imsdk.v2.V2TIMCallback
-import com.tencent.imsdk.v2.V2TIMManager
-import com.tencent.imsdk.v2.V2TIMMessage
 import com.yingyangfly.baselib.bean.GameDataBean
 import com.yingyangfly.baselib.bean.GetSaveGameRecordBean
-import com.yingyangfly.baselib.bean.MessageBean
 import com.yingyangfly.baselib.db.VoicePlayerBean
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
@@ -164,7 +158,6 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
         Glide.with(mContext).asGif().load(R.drawable.fish).into(binding.loadingImage)
         initLiveData()
         setScreenData()
-        addSimpleMsgListener()
     }
 
     /**
@@ -391,7 +384,6 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
 
     override fun onDestroy() {
         destoryWebView()
-        removeAdvancedMsgListener()
         super.onDestroy()
     }
 
@@ -751,138 +743,4 @@ class PlayGameActivity : BaseMVVMActivity<ActivityPlayGameBinding, PlayGameViewM
             sendLog(log)
         }
     }
-
-    /**
-     * 自定义消息监听
-     */
-    private var simpleMsgListener: V2TIMAdvancedMsgListener = object : V2TIMAdvancedMsgListener() {
-        override fun onRecvNewMessage(msg: V2TIMMessage) {
-            super.onRecvNewMessage(msg)
-            runOnUiThread {
-                makeMessageAsRead(msg)
-                analyticMessage(msg)
-                oneLog("原始版本IM消息内容: " + GsonUtil.GsonString(msg))
-            }
-        }
-    }
-
-    /**
-     * 消息改成已读
-     */
-    private fun makeMessageAsRead(msg: V2TIMMessage) {
-        runOnUiThread {
-            V2TIMManager.getConversationManager()
-                .cleanConversationUnreadMessageCount(String.format("c2c_%s", msg.sender),
-                    0,
-                    0,
-                    object : V2TIMCallback {
-                        override fun onSuccess() {
-                        }
-
-                        override fun onError(p0: Int, p1: String?) {
-                        }
-                    })
-        }
-    }
-
-    /**
-     * 解析IM消息
-     */
-    private fun analyticMessage(msg: V2TIMMessage) {
-        runOnUiThread {
-            if (msg.elemType == V2TIMMessage.V2TIM_ELEM_TYPE_CUSTOM) {
-                val customElem = msg.customElem
-                if (customElem != null && customElem.data != null) {
-                    val data = String(customElem.data)
-                    val description = customElem.description
-                    val messageBean = GsonUtil.GsonToBean(data, MessageBean::class.java)
-                    if (messageBean != null) {
-                        messageBean.timestamp = msg.timestamp
-                        if (TextUtils.isEmpty(description).not()) {
-                            messageBean.description = description
-                        }
-                        when (messageBean.businessID) {
-                            "end" -> {
-                                //结束问诊清空IM聊天历史
-                                clearC2CHistoryMessage(msg.sender)
-                            }
-
-                            "start", "live", "gameDetails", "endLive" -> {
-                                Log.e("wpp", "直播消息,此处不做处理")
-                            }
-
-                            else -> {
-                                showTaskDialog(messageBean)
-                            }
-                        }
-                        val messageInfo = GsonUtil.GsonString(messageBean)
-                        if (TextUtils.isEmpty(messageInfo).not()) {
-                            oneLog(messageInfo)
-                        }
-                    } else {
-                        oneLog("IM消息解析失败" + GsonUtil.GsonString(msg))
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * 清空消息列表
-     */
-    private fun clearC2CHistoryMessage(userId: String) {
-        runOnUiThread {
-            V2TIMManager.getMessageManager().clearC2CHistoryMessage(userId, object : V2TIMCallback {
-                override fun onSuccess() {
-                    // 清空单聊消息成功
-                }
-
-                override fun onError(code: Int, desc: String) {
-                    // 清空单聊消息失败
-                }
-            })
-        }
-    }
-
-    /**
-     * 展示IM消息弹窗
-     */
-    private fun showTaskDialog(msg: MessageBean) {
-        runOnUiThread {
-            LiveEventBusUtil.send(RxBusCodes.SHOWTASKDIALOG, msg)
-        }
-    }
-
-    /**
-     * 阿里云日志上报
-     */
-    private fun oneLog(messageInfo: String) {
-        runOnUiThread {
-            val log = com.aliyun.sls.android.producer.Log()
-            log.putContent(
-                "游戏页面IM消息内容", messageInfo
-            )
-            log.putContent("患者id", User.getUserId())
-            log.putContent("患者姓名", User.getName())
-            sendLog(log)
-        }
-    }
-
-    /**
-     * IM消息监听
-     */
-    private fun addSimpleMsgListener() {
-        //消息接受监听
-        V2TIMManager.getMessageManager().addAdvancedMsgListener(simpleMsgListener)
-    }
-
-    /**
-     * 移除消息监听
-     */
-    private fun removeAdvancedMsgListener() {
-        runOnUiThread {
-            //消息接受监听
-            V2TIMManager.getMessageManager().removeAdvancedMsgListener(simpleMsgListener)
-        }
-    }
 }

+ 1 - 1
game/src/main/manifest/AndroidManifest.xml

@@ -19,7 +19,7 @@
         <activity
             android:name="com.yingyangfly.game.introduction.GameIntroductionActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
-            android:launchMode="singleInstance"
+            android:launchMode="singleTop"
             android:screenOrientation="landscape"
             android:theme="@style/IntroduceFullActivity"
             android:windowSoftInputMode="adjustResize|adjustPan" />