fix [换设备已读聊天信息依旧推送问题]

This commit is contained in:
2024-04-01 10:47:13 +08:00
parent 91217e6bda
commit 51ab918327
13 changed files with 287 additions and 24 deletions

View File

@@ -4,6 +4,7 @@ import static com.yunbao.live.socket.SocketClient.mSocketHandler;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.LauncherActivity;
import android.content.Context;
import android.net.http.HttpResponseCache;
import android.os.Build;
@@ -38,6 +39,7 @@ import com.yunbao.common.CommonAppContext;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.AnchorStartLiveBean;
import com.yunbao.common.bean.CrashSaveBean;
import com.yunbao.common.dialog.DebugDialog;
import com.yunbao.common.event.SudGameSocketImEvent;
import com.yunbao.common.manager.imrongcloud.InstructorSendReward;
import com.yunbao.common.manager.imrongcloud.InstructorSendRewardProvider;
@@ -69,6 +71,7 @@ import com.yunbao.main.activity.MainActivity;
import com.yunbao.main.activity.MainHomeCommunityActivity;
import com.yunbao.main.activity.MsgSettActivity;
import com.yunbao.main.activity.PDLiveConversationActivity;
import com.yunbao.main.activity.RegisterActivity;
import com.yunbao.video.activity.VideoPlayActivity;
import org.greenrobot.eventbus.EventBus;
@@ -106,6 +109,7 @@ public class AppContext extends CommonAppContext {
@Override
public void onActivityResumed(Activity activity) {
Log.e("打招呼定时器", "onActivityResumed: " + activity);
MessageChatNotifyManager.getInstance().restart(activity);
if (activity instanceof LiveActivity) {
MessageSayHiNotifyManager.getInstance().stop();
return;
@@ -254,6 +258,11 @@ public class AppContext extends CommonAppContext {
//注册屏蔽push弹窗的类
MessageChatNotifyManager.getInstance().addShieldClass(CompleteUserInfoActivity.class);
MessageChatNotifyManager.getInstance().addShieldClass(PDLiveConversationActivity.class);
MessageChatNotifyManager.getInstance().addShieldClass(LauncherActivity.class);
MessageChatNotifyManager.getInstance().addShieldClass(EntryActivity.class);
MessageChatNotifyManager.getInstance().addShieldClass(LoginActivity.class);
MessageChatNotifyManager.getInstance().addShieldClass(RegisterActivity.class);
RongcloudIMManager.addRongcloudIMOnReceiveMessageListener(new RongIMClient.OnReceiveMessageWrapperListener() {
@Override
@@ -291,14 +300,16 @@ public class AppContext extends CommonAppContext {
if (AppManager.getInstance().getLastActivity() instanceof CompleteUserInfoActivity) {
return false;
}
Log.i("聊天推送", message.getTargetId() + "是否已读:" + message.getReceivedStatus().isRead());
if (message.getReceivedStatus().isRead()) {
return false;
}
RongIMClient.getInstance().getUnreadCount(Conversation.ConversationType.PRIVATE, message.getTargetId(), new RongIMClient.ResultCallback<Integer>() {
@Override
public void onSuccess(Integer integer) {
DebugDialog.getInstance(AppManager.getActivity(MainActivity.class)).setParams("推送" + message.getTargetId(), "是否已读:" + message.getReceivedStatus().isRead() + "|未读数" + integer);
if (integer > 0) {
Log.i("聊天推送", message.getTargetId() + "是否已读:" + message.getReceivedStatus().isRead() + "|未读数" + integer);
MessageChatNotifyManager.getInstance().push(AppManager.getInstance().getLastActivity()
, message.getTargetId(),
content.getContent()