This commit is contained in:
2025-11-18 15:12:24 +08:00
parent c173c425ce
commit a7d2035e70
1361 changed files with 367452 additions and 0 deletions
@@ -0,0 +1,316 @@
package cn.shangyu.gdxzExpert.umeng;
import static cn.shangyu.gdxzExpert.application.BaseApplication.getContext;
import static cn.shangyu.gdxzExpert.umeng.PushHelper.readMessage;
import static cn.shangyu.gdxzExpert.utils.CommonUtil.BigModule;
import static cn.shangyu.gdxzExpert.utils.StaUtil.EXPERT_PUSH_CLASS_QUALITY_DETAILS;
import static cn.shangyu.gdxzExpert.utils.StaUtil.EXPERT_PUSH_COURSEWARE_DETAILS;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import com.alibaba.fastjson.JSON;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.NimIntent;
import com.netease.nimlib.sdk.mixpush.MixPushService;
import com.netease.nimlib.sdk.msg.MessageBuilder;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.umeng.analytics.MobclickAgent;
import com.umeng.message.UmengNotifyClickActivity;
import org.android.agoo.common.AgooConstants;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.Map;
import cn.shangyu.gdxzExpert.R;
import cn.shangyu.gdxzExpert.activity.AccumulatePointsActivity;
import cn.shangyu.gdxzExpert.activity.BillDetailsActivity;
import cn.shangyu.gdxzExpert.activity.BookshelfListActivity2;
import cn.shangyu.gdxzExpert.activity.FaPiaoActivity;
import cn.shangyu.gdxzExpert.activity.GanDanHouseDetialActivity;
import cn.shangyu.gdxzExpert.activity.MyCoursewareActivity;
import cn.shangyu.gdxzExpert.activity.MyFlowerActivity;
import cn.shangyu.gdxzExpert.activity.MyFuliCardActivity;
import cn.shangyu.gdxzExpert.activity.WebActivity;
import cn.shangyu.gdxzExpert.big.activity.BigPointsMallActivity;
import cn.shangyu.gdxzExpert.netease.mixpush.DemoMixPushMessageHandler;
import cn.shangyu.gdxzExpert.pointsmall.PointsMallActivity;
import cn.shangyu.gdxzExpert.polyvplayer.CourseDetailPolyvPlayerActivity;
import cn.shangyu.gdxzExpert.polyvplayer.VideoDetailPolyvPlayerActivity;
import cn.shangyu.gdxzExpert.splash.WelcomeUI;
import cn.shangyu.gdxzExpert.utils.GsonTools;
import cn.shangyu.gdxzExpert.utils.StringUtil;
import cn.shangyu.gdxzExpert.utils.Url;
/**
* 厂商通道配置托管启动的Activity
* 如点击小米、华为、OPPO、vivo等系统通道的通知消息,启动的Activity类
*/
public class MfrMessageActivity extends UmengNotifyClickActivity {
private static final String TAG = "MfrMessageActivity";
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.mfr_message_layout);
// onIntent();
}
// 处理收到的Intent
private void onIntent() {
LogUtil.i(TAG, "onIntent...");
LogUtil.i("G2", "onIntent...");
// 已经登录过了,处理过来的请求
Intent intent = getIntent();
if (intent != null) {
if(intent.getExtras()!=null)
{
Log.d(TAG, "intent.getExtras(): " + intent.getExtras().toString());
}
if (intent.hasExtra(NimIntent.EXTRA_NOTIFY_CONTENT)) {
parseNotifyIntent(intent);
return;
} else if (NIMClient.getService(MixPushService.class).isFCMIntent(intent)) {
parseFCMNotifyIntent(NIMClient.getService(MixPushService.class).parseFCMPayload(intent));
}
}
}
private void parseFCMNotifyIntent(String payloadString) {
Map<String, String> payload = JSON.parseObject(payloadString, Map.class);
String sessionId = payload.get(DemoMixPushMessageHandler.PAYLOAD_SESSION_ID);
String type = payload.get(DemoMixPushMessageHandler.PAYLOAD_SESSION_TYPE);
if (sessionId != null && type != null) {
int typeValue = Integer.valueOf(type);
IMMessage message = MessageBuilder.createEmptyMessage(sessionId, SessionTypeEnum.typeOfValue(typeValue), 0);
// showMainActivity(new Intent().putExtra(NimIntent.EXTRA_NOTIFY_CONTENT, message));
} else {
// showMainActivity(null);
}
}
private void parseNotifyIntent(Intent intent) {
ArrayList<IMMessage> messages = (ArrayList<IMMessage>) intent.getSerializableExtra(NimIntent.EXTRA_NOTIFY_CONTENT);
if (messages == null || messages.size() > 1) {
// showMainActivity(null);
} else {
// showMainActivity(new Intent().putExtra(NimIntent.EXTRA_NOTIFY_CONTENT, messages.get(0)));
}
}
@Override
public void onMessage(Intent intent) {
if(intent==null)
return;
Bundle bundle = intent.getExtras();
if (bundle != null) {
Log.d(TAG, "bundle: " + bundle);
}
else
{
return;
}
super.onMessage(intent);
final String body = intent.getStringExtra(AgooConstants.MESSAGE_BODY);
try {
JSONObject jsonObject = new JSONObject(body);
PushBean pushBean= GsonTools.fromGsonToBean(body,PushBean.class);
if(pushBean!=null&&pushBean.getExtra()!=null&& !StringUtil.isEmpty(pushBean.getExtra().getMessage_id()))
{
readMessage(pushBean.getExtra().getMessage_id());
}
if(pushBean!=null&&pushBean.getExtra()!=null&&pushBean.getExtra().getType()!=null)
{
Intent intent3=new Intent();
switch (pushBean.getExtra().getType())
{
case "1":
intent3.setClass(getContext(),PushNewsDetailActivity.class);
intent3.putExtra("title", "新闻详情");
intent3.putExtra("newsuuid", pushBean.getExtra().getUuid());
intent3.putExtra("flag", 3);
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"3"://肝胆视频
Intent intent4 = VideoDetailPolyvPlayerActivity.newIntent(getContext(), VideoDetailPolyvPlayerActivity.PlayMode.portrait,"");
// 在线视频和下载的视频播放的时候只显示播放器窗口,用该参数来控制
intent4.putExtra("startNow", false);
intent4.putExtra("isVlmsOnline", false);
intent4.putExtra("uuid", pushBean.getExtra().getUuid());
intent4.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent4);
finish();
break;
case"4"://直播
intent3.setType("zhibo");
intent3.setClass(getContext(),PushZhiBoActivity.class);
intent3.putExtra("id", pushBean.getExtra().getId());
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"5"://肝胆课件
MobclickAgent.onEvent(getContext(),EXPERT_PUSH_COURSEWARE_DETAILS);
intent3.setClass(getContext(),PushCourseUrlDetailActivity.class);
intent3.putExtra("uuid", pushBean.getExtra().getUuid());
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"6"://精品课
case"7":
MobclickAgent.onEvent(getContext(),EXPERT_PUSH_CLASS_QUALITY_DETAILS);
intent3.setClass(getContext(), CourseDetailPolyvPlayerActivity.class);
intent3.putExtra("excellentcourse_id", pushBean.getExtra().getId());
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"9"://积分商城
if(BigModule())
{
intent3.setClass(getContext(), BigPointsMallActivity.class);
}
else
{
intent3.setClass(getContext(), PointsMallActivity.class);
}
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"10"://指南
intent3.setClass(getContext(), BookshelfListActivity2.class);
intent3.putExtra("typeUuid", pushBean.getExtra().getUuid());
intent3.putExtra("title", pushBean.getExtra().getName());
intent3.putExtra("loadUrl", Url.getGuideList);
intent3.putExtra("type", "0");
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"11"://普通url
intent3.setClass(getContext(), WebActivity.class);
intent3.putExtra("url",pushBean.getExtra().getUrl());
intent3.putExtra("title","推送消息");
intent3.putExtra("need_share","0");
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"15"://精品课评论
// intent3.setClass(getContext(), CourseDetailPolyvPlayerActivity.class);
// intent3.putExtra("excellentcourse_id", pushBean.getExtra().getId());
// intent3.putExtra("pinglun","yes");
// intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// getContext().startActivity(intent3);
// finish();
// break;
case"16"://一问多答
case"17"://病例讨论
intent3.setClass(getContext(), NewSystemMessageActivity.class);
intent3.putExtra("module",3);
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"18"://送花
intent3.setClass(getContext(), MyFlowerActivity.class);
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"19"://课件收益
intent.setClass(getContext(), MyCoursewareActivity.class);
intent.putExtra("changeMyCoolect",1);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
break;
case"21"://提现
intent3.setClass(getContext(), BillDetailsActivity.class);
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"20"://发票
intent3.setClass(getContext(), FaPiaoActivity.class);
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"28"://课件分享
case"30"://精品课优质评价
case"31"://学完返现
case"32"://福利课堂
case"33"://阅读福利
case"34"://观看福利
case"36"://特别奖励
intent3.setClass(getContext(), AccumulatePointsActivity.class);
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case"35"://福利卡
intent3.setClass(getContext(), MyFuliCardActivity.class);
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent3);
finish();
break;
case "40"://互动圈
intent.setClass(getContext(), GanDanHouseDetialActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("uuid",pushBean.getExtra().getUuid());
getContext().startActivity(intent);
break;
default:
intent3.setClass(MfrMessageActivity.this, WelcomeUI.class);
startActivity(intent3);
finish();
break;
}
}
else if(jsonObject.optJSONObject("extra")!=null&&!(jsonObject.getJSONObject("extra").isNull("url")))
{
Intent intent2=new Intent(getContext(), WebActivity.class);
intent2.putExtra("url",jsonObject.getJSONObject("extra").getString("url"));
intent2.putExtra("title","推送消息");
intent2.putExtra("need_share","0");
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent2);
finish();
}
else
{
Intent intent1 = new Intent();
intent1.setClass(MfrMessageActivity.this, WelcomeUI.class);
startActivity(intent1);
finish();
}
} catch (JSONException e) {
e.printStackTrace();
}
// Log.d(TAG, "body: " + body);
// if (!TextUtils.isEmpty(body)) {
// runOnUiThread(new Runnable() {
// @Override
// public void run() {
// ((TextView) findViewById(R.id.tv)).setText(body);
// }
// });
// }
}
}