更新优化
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package cn.shangyu.gdxzExpert.activity;
|
||||
|
||||
import static cn.shangyu.gdxzExpert.application.BaseApplication.getContext;
|
||||
import static cn.shangyu.gdxzExpert.utils.CommonUtil.BigModule;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
@@ -52,8 +53,10 @@ import cn.shangyu.gdxzExpert.pointsmall.PointsMallActivity;
|
||||
import cn.shangyu.gdxzExpert.ui.CustomProgressDialog;
|
||||
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Constant;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.ECAlertDialog;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
|
||||
@@ -384,8 +387,10 @@ public class AccumulatePointsActivity extends BaseActivity implements OnCallBack
|
||||
}
|
||||
else
|
||||
{
|
||||
Intent intent = new Intent(AccumulatePointsActivity.this, PointsMallActivity.class);
|
||||
startActivity(intent);
|
||||
// Intent intent = new Intent(AccumulatePointsActivity.this, PointsMallActivity.class);
|
||||
// startActivity(intent);
|
||||
UniappUtil.showUniMp(getContext(), "/pages_goods/pointMall/pointMall", null);
|
||||
|
||||
}
|
||||
} else if (id == R.id.ll_integraltickit) {//积分券
|
||||
Intent intent1 = new Intent(AccumulatePointsActivity.this, IntegralTicketActivity.class);
|
||||
|
||||
@@ -35,6 +35,7 @@ import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
|
||||
|
||||
@@ -129,7 +130,7 @@ public class CoollectCourseActivity extends BaseActivity implements
|
||||
pageParams.put("src", DataList.get(arg2-1).path);
|
||||
pageParams.put("uuid", DataList.get(arg2-1).other_uuid);
|
||||
pageParams.put("from", "collect");
|
||||
MyUserIconUtil.showUniMp(mActivity, "/pages_app/pptDetail/pptDetail", pageParams);
|
||||
UniappUtil.showUniMp(mActivity, "/pages_app/pptDetail/pptDetail", pageParams);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -38,8 +38,10 @@ import cn.shangyu.gdxzExpert.bean.FuCardBean;
|
||||
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
|
||||
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
|
||||
public class DuiFuliActivity extends BaseActivity implements OnCallBackFromNet {
|
||||
@@ -238,9 +240,11 @@ public class DuiFuliActivity extends BaseActivity implements OnCallBackFromNet {
|
||||
// broadc.setType("qiandao");
|
||||
// startActivity(broadc);
|
||||
} else if (id == R.id.r_top) {
|
||||
Intent intent1=new Intent(DuiFuliActivity.this,MyWelfAreActivity.class);
|
||||
intent1.putExtra("changeFragment",2);
|
||||
startActivity(intent1);
|
||||
// Intent intent1=new Intent(DuiFuliActivity.this,MyWelfAreActivity.class);
|
||||
// intent1.putExtra("changeFragment",2);
|
||||
// startActivity(intent1);
|
||||
|
||||
UniappUtil.showUniMp(DuiFuliActivity.this, "/pages_app/myWelfare/myWelfare", null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -290,10 +294,10 @@ public class DuiFuliActivity extends BaseActivity implements OnCallBackFromNet {
|
||||
public void onClick(View v) {
|
||||
|
||||
dialog4.dismiss();
|
||||
Intent intent1=new Intent(DuiFuliActivity.this,MyWelfAreActivity.class);
|
||||
intent1.putExtra("changeFragment",2);
|
||||
startActivity(intent1);
|
||||
|
||||
// Intent intent1=new Intent(DuiFuliActivity.this,MyWelfAreActivity.class);
|
||||
// intent1.putExtra("changeFragment",2);
|
||||
// startActivity(intent1);
|
||||
UniappUtil.showUniMp(DuiFuliActivity.this, "/pages_app/myWelfare/myWelfare", null);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25,6 +25,7 @@ import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.view.RollViewPager;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
@@ -120,7 +121,8 @@ public class GandanConsultActivity extends BaseActivity implements View.OnClickL
|
||||
} else if (id == R.id.rl_video) {//肝胆新闻
|
||||
startActivity(new Intent(ct, NewsActivity.class));
|
||||
} else if (id == R.id.rl_lczhaomu) {//肝胆会议
|
||||
startActivity(new Intent(ct, GandanMeetingActivity.class));
|
||||
// startActivity(new Intent(ct, GandanMeetingActivity.class));
|
||||
UniappUtil.showUniMp(ct, "/pages/live/live", null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -197,6 +197,7 @@ import cn.shangyu.gdxzExpert.utils.StreamTool;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UpdateVersionUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.view.viewbadger.BadgeView;
|
||||
@@ -469,7 +470,7 @@ public class MainActivity extends BaseActivity implements
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
MyUserIconUtil.showUniMp(MainActivity.this, "/pages_app/patientVideo/patientVideo", null);
|
||||
UniappUtil.showUniMp(MainActivity.this, "/pages_app/patientVideo/patientVideo", null);
|
||||
// startActivity(new Intent(ct,PatientVideoActivity.class));
|
||||
}
|
||||
});
|
||||
@@ -640,7 +641,7 @@ public class MainActivity extends BaseActivity implements
|
||||
Intent intent = new Intent(BaseApplication.getContext(), NewSystemMessageActivity.class);
|
||||
intent.putExtra("module",2);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(BaseApplication.getContext(), 35,
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
// 处理自定义通知消息
|
||||
Notification notification1 = new NotificationCompat.Builder(MainActivity.this,"随访消息")
|
||||
.setAutoCancel(true)
|
||||
@@ -664,7 +665,7 @@ public class MainActivity extends BaseActivity implements
|
||||
saveUnreadFollow();
|
||||
Intent intent = new Intent(BaseApplication.getContext(), NormNewPatientActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(BaseApplication.getContext(), 35,
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
// 处理自定义通知消息
|
||||
Notification notification1 = new NotificationCompat.Builder(MainActivity.this,"随访消息")
|
||||
.setAutoCancel(true)
|
||||
@@ -692,7 +693,7 @@ public class MainActivity extends BaseActivity implements
|
||||
saveUnreadFollow();
|
||||
Intent intent = new Intent(BaseApplication.getContext(), NormNewPatientActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(BaseApplication.getContext(), 35,
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
// 处理自定义通知消息
|
||||
Notification notification1 = new NotificationCompat.Builder(MainActivity.this,"随访消息")
|
||||
.setAutoCancel(true)
|
||||
@@ -721,7 +722,7 @@ public class MainActivity extends BaseActivity implements
|
||||
{
|
||||
Intent intent = new Intent(BaseApplication.getContext(), MainActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(BaseApplication.getContext(), 35,
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
// 处理自定义通知消息
|
||||
Notification notification1 = new NotificationCompat.Builder(MainActivity.this,"随访消息")
|
||||
.setAutoCancel(true)
|
||||
@@ -742,7 +743,7 @@ public class MainActivity extends BaseActivity implements
|
||||
{
|
||||
Intent intent = new Intent(BaseApplication.getContext(), MainActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(BaseApplication.getContext(), 35,
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
|
||||
// 处理自定义通知消息
|
||||
Notification notification1 = new NotificationCompat.Builder(MainActivity.this,"随访消息")
|
||||
@@ -1214,12 +1215,12 @@ public class MainActivity extends BaseActivity implements
|
||||
|
||||
changeNews();
|
||||
} else if (checkedId == R.id.tab_rbn_kepu) {
|
||||
mToolbar.setBackgroundColor(getResources().getColor(R.color.top_bg));
|
||||
mToolbar.getBackground().setAlpha(255);
|
||||
mRg_kepu.setVisibility(View.VISIBLE);
|
||||
mV_kp.setVisibility(View.VISIBLE);
|
||||
// mToolbar.setBackgroundColor(getResources().getColor(R.color.top_bg));
|
||||
// mToolbar.getBackground().setAlpha(255);
|
||||
// mRg_kepu.setVisibility(View.VISIBLE);
|
||||
// mV_kp.setVisibility(View.VISIBLE);
|
||||
mRb_published.setChecked(true);
|
||||
top_sgin.setVisibility(View.GONE);
|
||||
// top_sgin.setVisibility(View.GONE);
|
||||
MobclickAgent.onEvent(this, EXPERT_TAB_TEACH);
|
||||
|
||||
// mRb_teach.setTextColor(getResources().getColor(R.color.tab_text_sel));
|
||||
@@ -1238,7 +1239,10 @@ public class MainActivity extends BaseActivity implements
|
||||
// tab_rbn_my.setCompoundDrawablesWithIntrinsicBounds(null,
|
||||
// getResources().getDrawable(R.drawable.home_my_nor), null, null);
|
||||
|
||||
changePatientZhongxin();
|
||||
// changePatientZhongxin();
|
||||
|
||||
showUniMp(true, "/pages/patientClass/patientClass");
|
||||
|
||||
} else if (checkedId == R.id.tab_rbn_home) {
|
||||
mToolbar.setBackgroundColor(getResources().getColor(R.color.top_bg));
|
||||
mRg_kepu.setVisibility(View.GONE);
|
||||
@@ -1351,7 +1355,7 @@ public class MainActivity extends BaseActivity implements
|
||||
// //没有用
|
||||
// }
|
||||
|
||||
showUniMp(true);
|
||||
showUniMp(true, "/pages/live/live");
|
||||
|
||||
|
||||
} else if (checkedId == R.id.tab_rbn_my) {
|
||||
@@ -1403,7 +1407,7 @@ public class MainActivity extends BaseActivity implements
|
||||
};
|
||||
|
||||
//展示uniapp mp
|
||||
public void showUniMp(boolean showLoading){
|
||||
public void showUniMp(boolean showLoading, String targetPath){
|
||||
if(showLoading){
|
||||
showFullScreenLoading();
|
||||
}
|
||||
@@ -1419,7 +1423,7 @@ public class MainActivity extends BaseActivity implements
|
||||
sendJsonPostParamtoNetSignMD5(getAccessToken, param, ACCESS_TOKEN,this);
|
||||
}
|
||||
|
||||
MyUserIconUtil.showUniMp(MainActivity.this, "/pages/live/live", null);
|
||||
UniappUtil.showUniMp(MainActivity.this, targetPath, null);
|
||||
if(showLoading) {
|
||||
hideFullScreenLoading();
|
||||
}
|
||||
@@ -1760,7 +1764,7 @@ public class MainActivity extends BaseActivity implements
|
||||
top_right_system_msg.setImageResource(R.drawable.my_message_icon);
|
||||
top_sao.setVisibility(View.GONE);
|
||||
top_search.setVisibility(View.VISIBLE);
|
||||
top_search.setOnClickListener(new OnClickListener() {
|
||||
top_search.setOnClickListener(new OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -1813,8 +1817,8 @@ public class MainActivity extends BaseActivity implements
|
||||
}
|
||||
needreportSimple("read_message");
|
||||
MobclickAgent.onEvent(MainActivity.this, EXPERT_HOME_MESSGAE);
|
||||
startActivity(new Intent(ct, NewSystemMessageActivity.class));
|
||||
|
||||
// startActivity(new Intent(ct, NewSystemMessageActivity.class));
|
||||
showUniMp(true, "/pages_app/msg/msg");
|
||||
// startActivity(new Intent(ct, SystemMessageActivity.class));
|
||||
// SharePrefUtil.saveBoolean(ct, "isHaveSysMsg", false);
|
||||
// if (badgeSysMsg != null) {
|
||||
@@ -2071,18 +2075,23 @@ public class MainActivity extends BaseActivity implements
|
||||
protected void onResume() {
|
||||
|
||||
LogUtil.i("onResume: ", current_tab_id+"");
|
||||
if(current_tab_id == R.id.tab_rbn_donation && BaseApplication.auto_show_unimp){
|
||||
if((current_tab_id == R.id.tab_rbn_donation || current_tab_id == R.id.tab_rbn_kepu) && BaseApplication.auto_show_unimp){
|
||||
long current_timestmp = System.currentTimeMillis();
|
||||
//防止无限循环打开
|
||||
if(current_timestmp - BaseApplication.auto_show_unimp_timestamp > 1.5 * 1000){
|
||||
BaseApplication.auto_show_unimp_timestamp = current_timestmp;
|
||||
showUniMp(true);
|
||||
if(current_tab_id == R.id.tab_rbn_donation){
|
||||
showUniMp(true, "/pages/live/live");
|
||||
}else if(current_tab_id == R.id.tab_rbn_kepu){
|
||||
showUniMp(true, "/pages/patientClass/patientClass");
|
||||
}
|
||||
|
||||
}else{
|
||||
//触发错误次数
|
||||
BaseApplication.auto_show_unimp_error_times ++;
|
||||
//错误次数大于5,则关闭小程序
|
||||
if(BaseApplication.auto_show_unimp_error_times > 5){
|
||||
MyUserIconUtil.closeUniMP();
|
||||
UniappUtil.closeUniMP();
|
||||
BaseApplication.auto_show_unimp_error_times = 0;
|
||||
}
|
||||
}
|
||||
@@ -2995,10 +3004,10 @@ public class MainActivity extends BaseActivity implements
|
||||
btn_sure.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent1 = new Intent(MainActivity.this, MyWelfAreActivity.class);
|
||||
startActivity(intent1);
|
||||
dialog4.dismiss();
|
||||
|
||||
// Intent intent1 = new Intent(MainActivity.this, MyWelfAreActivity.class);
|
||||
// startActivity(intent1);
|
||||
dialog4.dismiss();
|
||||
UniappUtil.showUniMp(MainActivity.this, "/pages_app/myWelfare/myWelfare", null);
|
||||
|
||||
}
|
||||
});
|
||||
@@ -3036,10 +3045,11 @@ public class MainActivity extends BaseActivity implements
|
||||
btn_sure.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent1 = new Intent(MainActivity.this, MyWelfAreActivity.class);
|
||||
startActivity(intent1);
|
||||
dialog4.dismiss();
|
||||
// Intent intent1 = new Intent(MainActivity.this, MyWelfAreActivity.class);
|
||||
// startActivity(intent1);
|
||||
dialog4.dismiss();
|
||||
|
||||
UniappUtil.showUniMp(MainActivity.this, "/pages_app/myWelfare/myWelfare", null);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -14,6 +14,7 @@ import cn.shangyu.gdxzExpert.utils.Constant;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
|
||||
|
||||
public class MyDownLoadsActivity extends BaseActivity{
|
||||
@@ -214,14 +215,14 @@ public class MyDownLoadsActivity extends BaseActivity{
|
||||
} else if (id == R.id.rl_4) {
|
||||
if (isDownLoad) {
|
||||
//跳到uniapp 的缓存页面
|
||||
MyUserIconUtil.showUniMp(MyDownLoadsActivity.this, "/pages_app/zhinanDownload/zhinanDownload", null);
|
||||
UniappUtil.showUniMp(MyDownLoadsActivity.this, "/pages_app/zhinanDownload/zhinanDownload", null);
|
||||
} else {
|
||||
startActivity(new Intent(mActivity, CoollectVideoActivity.class).putExtra("name",mTv_title4.getText().toString()));
|
||||
}
|
||||
} else if (id == R.id.rl_5) {
|
||||
if (isDownLoad) {
|
||||
//跳到uniapp 的缓存页面
|
||||
MyUserIconUtil.showUniMp(MyDownLoadsActivity.this, "/pages_app/pptDownload/pptDownload", null);
|
||||
UniappUtil.showUniMp(MyDownLoadsActivity.this, "/pages_app/pptDownload/pptDownload", null);
|
||||
} else {
|
||||
startActivity(new Intent(mActivity, CoollectCourseActivity.class));
|
||||
}
|
||||
|
||||
@@ -24,8 +24,10 @@ import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase;
|
||||
import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
|
||||
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
|
||||
public class MyFuliCardActivity extends BaseActivity implements OnCallBackFromNet {
|
||||
@@ -140,9 +142,11 @@ public class MyFuliCardActivity extends BaseActivity implements OnCallBackFromNe
|
||||
// startActivity(broadc);
|
||||
break;
|
||||
case R.id.r_top:
|
||||
Intent intent1=new Intent(MyFuliCardActivity.this,MyWelfAreActivity.class);
|
||||
intent1.putExtra("changeFragment",2);
|
||||
startActivity(intent1);
|
||||
// Intent intent1=new Intent(MyFuliCardActivity.this,MyWelfAreActivity.class);
|
||||
// intent1.putExtra("changeFragment",2);
|
||||
// startActivity(intent1);
|
||||
|
||||
UniappUtil.showUniMp(MyFuliCardActivity.this, "/pages_app/myWelfare/myWelfare", null);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.view.viewbadger.BadgeView;
|
||||
import cn.shangyu.gdxzExpert.widget.ECAlertDialog;
|
||||
@@ -90,6 +91,7 @@ import static cn.shangyu.gdxzExpert.fragment.PatientListFragment.PatientUrl;
|
||||
|
||||
public class MyPatientActivity extends BaseActivity implements
|
||||
OnCheckedChangeListener, OnUpdateMsgUnreadCountsListener, ReminderManager.UnreadNumChangedCallback {
|
||||
private static final String EXTRA_OPEN_PATIENT_MSG = "open_patient_msg";
|
||||
|
||||
private RadioGroup main_radiogroup;
|
||||
private FragmentManager fm;
|
||||
@@ -169,7 +171,7 @@ public class MyPatientActivity extends BaseActivity implements
|
||||
main_radiogroup.setOnCheckedChangeListener(this);
|
||||
instance = this;
|
||||
fm = getSupportFragmentManager();
|
||||
changeMessage();
|
||||
handleEntryIntent(getIntent());
|
||||
isSuccessView = true;
|
||||
// 患者列表申请提醒
|
||||
bt_paintlist = (Button) view.findViewById(R.id.bt_paintlist);
|
||||
@@ -182,6 +184,30 @@ public class MyPatientActivity extends BaseActivity implements
|
||||
yuninit();
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
setIntent(intent);
|
||||
if (isSuccessView) {
|
||||
handleEntryIntent(intent);
|
||||
}
|
||||
}
|
||||
|
||||
private void handleEntryIntent(Intent intent) {
|
||||
// 默认保持原有行为:进入页面即展示患者消息
|
||||
if (intent != null && intent.getBooleanExtra(EXTRA_OPEN_PATIENT_MSG, false)) {
|
||||
// 清掉一次性标记,避免后续 getIntent() 重复触发同一路由
|
||||
intent.removeExtra(EXTRA_OPEN_PATIENT_MSG);
|
||||
}
|
||||
if (main_radiogroup != null
|
||||
&& main_radiogroup.getCheckedRadioButtonId() != R.id.tab_rbn_message) {
|
||||
main_radiogroup.setOnCheckedChangeListener(null);
|
||||
main_radiogroup.check(R.id.tab_rbn_message);
|
||||
main_radiogroup.setOnCheckedChangeListener(this);
|
||||
}
|
||||
changeMessage();
|
||||
}
|
||||
private LocalBroadcastManager localBroadcastManager;
|
||||
private IntentFilter intentFilter;
|
||||
LocalReceiver localReceiver;
|
||||
@@ -255,9 +281,17 @@ public class MyPatientActivity extends BaseActivity implements
|
||||
break;
|
||||
case R.id.tab_rbn_patlist:
|
||||
changePatlist();
|
||||
|
||||
// com.alibaba.fastjson.JSONObject pageParams = new JSONObject();
|
||||
// pageParams.put("type", "list");
|
||||
// UniappUtil.showUniMp(MyPatientActivity.this, "/pages_app/patientMsg/patientList", pageParams);
|
||||
break;
|
||||
case R.id.tab_rbn_visit:
|
||||
changevisit();
|
||||
|
||||
// com.alibaba.fastjson.JSONObject pageParams_plan = new JSONObject();
|
||||
// pageParams_plan.put("type", "plan");
|
||||
// UniappUtil.showUniMp(MyPatientActivity.this, "/pages_app/patientMsg/patientPlan", pageParams_plan);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,9 @@ import cn.shangyu.gdxzExpert.base.BaseActivity;
|
||||
import cn.shangyu.gdxzExpert.fragment.GetWelfAreFragment;
|
||||
import cn.shangyu.gdxzExpert.fragment.WelfAreFragment;
|
||||
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
|
||||
/**
|
||||
@@ -147,7 +149,9 @@ public class MyWelfAreActivity extends BaseActivity {
|
||||
} else if (id == R.id.ll_buy_point) {
|
||||
startActivity(new Intent(mcontext,WelfareDetailActivity.class));
|
||||
} else if (id == R.id.ll_integraltickit) {
|
||||
startActivity(new Intent(mcontext,AccumulatePointsActivity.class));
|
||||
// startActivity(new Intent(mcontext,AccumulatePointsActivity.class));
|
||||
|
||||
UniappUtil.showUniMp(mcontext, "/pages_app/myPoint/myPoint", null);
|
||||
}
|
||||
}
|
||||
private void initFragment() {
|
||||
|
||||
@@ -31,9 +31,11 @@ import cn.shangyu.gdxzExpert.pointsmall.PointsMallActivity;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.QualityCourseActivity;
|
||||
import cn.shangyu.gdxzExpert.ui.CustomProgressDialog;
|
||||
import cn.shangyu.gdxzExpert.utils.Constant;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.ECAlertDialog;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
|
||||
@@ -457,12 +459,13 @@ public class NavigationActivity extends BaseActivity implements OnCallBackFromNe
|
||||
break;
|
||||
case R.id.bt_point1:
|
||||
case R.id.bt_point:
|
||||
startActivity(new Intent(mActivity, PointsMallActivity.class));
|
||||
// startActivity(new Intent(mActivity, PointsMallActivity.class));
|
||||
UniappUtil.showUniMp(mActivity, "/pages_goods/pointMall/pointMall", null);
|
||||
break;
|
||||
case R.id.ll_sign1:
|
||||
case R.id.ll_sign:
|
||||
startActivity(new Intent(NavigationActivity.this,AccumulatePointsActivity.class));
|
||||
|
||||
// startActivity(new Intent(NavigationActivity.this,AccumulatePointsActivity.class));
|
||||
UniappUtil.showUniMp(NavigationActivity.this, "/pages_app/myPoint/myPoint", null);
|
||||
// if (Constant.isSignIn) {
|
||||
// dilaog2 = ECAlertDialog.buildAlert(NavigationActivity.this,
|
||||
// "今日已签到,每日只能签到一次。\n 请明日继续哦~", "关闭", new DialogInterface.OnClickListener() {// 确定
|
||||
|
||||
@@ -16,6 +16,7 @@ import cn.shangyu.gdxzExpert.base.BaseActivity;
|
||||
import cn.shangyu.gdxzExpert.fragment.MoreToOneConsultFragment;
|
||||
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
|
||||
/**
|
||||
@@ -156,7 +157,7 @@ public class PublicConsultationActivity extends BaseActivity implements RadioGro
|
||||
}
|
||||
break;
|
||||
case R.id.rb_question2:
|
||||
MyUserIconUtil.showUniMp(this, "/pages_app/consult/consult", null);
|
||||
UniappUtil.showUniMp(this, "/pages_app/consult/consult", null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ package cn.shangyu.gdxzExpert.activity;
|
||||
|
||||
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
||||
|
||||
import static cn.shangyu.gdxzExpert.application.BaseApplication.getContext;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
@@ -37,9 +39,11 @@ import cn.shangyu.gdxzExpert.report.CommUtil;
|
||||
import cn.shangyu.gdxzExpert.report.ReportService;
|
||||
import cn.shangyu.gdxzExpert.report.reportBean;
|
||||
import cn.shangyu.gdxzExpert.utils.Constant;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
|
||||
public class PublicSearchActivity extends AppCompatActivity implements OnClickListener {
|
||||
private GridView gv_search;
|
||||
@@ -273,11 +277,15 @@ public class PublicSearchActivity extends AppCompatActivity implements OnClickLi
|
||||
needreport("名科");
|
||||
break;
|
||||
case 11:
|
||||
Intent intentshop = new Intent(PublicSearchActivity.this,
|
||||
PointsMallActivity.class);
|
||||
intentshop.putExtra("name", searchStr);
|
||||
intentshop.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intentshop);
|
||||
// Intent intentshop = new Intent(PublicSearchActivity.this, PointsMallActivity.class);
|
||||
// intentshop.putExtra("name", searchStr);
|
||||
// intentshop.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
|
||||
// startActivity(intentshop);
|
||||
|
||||
com.alibaba.fastjson.JSONObject pageParams = new com.alibaba.fastjson.JSONObject();
|
||||
pageParams.put("name", searchStr);
|
||||
UniappUtil.showUniMp(PublicSearchActivity.this, "/pages_goods/pointMall/pointMall", pageParams);
|
||||
|
||||
needreport("积分商城");
|
||||
break;
|
||||
default:
|
||||
@@ -409,11 +417,12 @@ public class PublicSearchActivity extends AppCompatActivity implements OnClickLi
|
||||
startActivity(intentDepart);
|
||||
break;
|
||||
case 12:
|
||||
Intent intentshop = new Intent(PublicSearchActivity.this,
|
||||
PointsMallActivity.class);
|
||||
intentshop.putExtra("name", searchStr);
|
||||
intentshop.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intentshop);
|
||||
// Intent intentshop = new Intent(PublicSearchActivity.this, PointsMallActivity.class);
|
||||
// intentshop.putExtra("name", searchStr);
|
||||
// intentshop.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
|
||||
// startActivity(intentshop);
|
||||
UniappUtil.showUniMp(getContext(), "/pages_goods/pointMall/pointMall", null);
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -63,8 +63,8 @@ import cn.shangyu.gdxzExpert.ecdemo.storage.IMessageSqlManager;
|
||||
import cn.shangyu.gdxzExpert.ecdemo.ui.SDKCoreHelper;
|
||||
import cn.shangyu.gdxzExpert.ecdemo.ui.SettingItem;
|
||||
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
|
||||
import cn.shangyu.gdxzExpert.netease.bagder.Badger;
|
||||
import cn.shangyu.gdxzExpert.netease.config.LogoutHelper;
|
||||
import cn.shangyu.gdxzExpert.utils.BadgeCountUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Constant;
|
||||
import cn.shangyu.gdxzExpert.utils.DataCleanManager;
|
||||
@@ -763,17 +763,19 @@ public class SettingAndHelpActivity extends BaseActivity implements OnCallBackFr
|
||||
tv_cache.setText(getCacheSize());
|
||||
LogUtil.i("cache==" + getCacheSize());
|
||||
closeProgressDialog();
|
||||
//清除随访患者未读消息数
|
||||
int i = IMessageSqlManager.UnreadCount(Constant.typePatient);
|
||||
//清除公益咨询未读消息数
|
||||
int i1 = IMessageSqlManager.UnreadCount(Constant.typeConsult);
|
||||
// 清除本地会话未读(随访患者、公益咨询)
|
||||
IMessageSqlManager.UnreadCount(Constant.typePatient);
|
||||
IMessageSqlManager.UnreadCount(Constant.typeConsult);
|
||||
ConversationSqlManager.setChattingSessionRead(1);
|
||||
String brand = android.os.Build.BRAND;
|
||||
if ("Xiaomi".equals(brand)){
|
||||
//小米不需要原生角标
|
||||
}else {
|
||||
BadgeCountUtils.removeBadge(UIUtils.getContext());
|
||||
|
||||
// 清除云信 IM 未读
|
||||
NIMClient.getService(MsgService.class).clearAllUnreadCount();
|
||||
// 清除桌面角标(IM + unreadFollow)及应用内系统消息角标状态
|
||||
Badger.clearAllBadges(ct);
|
||||
SharePrefUtil.saveBoolean(ct, "isHaveSysMsg", false);
|
||||
NotificationManager notificationManager =
|
||||
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
if (notificationManager != null) {
|
||||
notificationManager.cancel(55);
|
||||
}
|
||||
String pathName = getApplicationContext().getExternalFilesDir("").getAbsolutePath()+ "/欢迎页/huanyingye.jpg";
|
||||
File currentFile = new File(pathName);
|
||||
@@ -782,7 +784,6 @@ public class SettingAndHelpActivity extends BaseActivity implements OnCallBackFr
|
||||
}
|
||||
SharePrefUtil.saveString(getApplicationContext(),
|
||||
Url.getStartpage+"new", "");
|
||||
NIMClient.getService(MsgService.class).clearAllUnreadCount();
|
||||
ToastUtil.showToast("清除完毕");
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,706 @@
|
||||
package cn.shangyu.gdxzExpert.activity;
|
||||
|
||||
import static cn.shangyu.gdxzExpert.utils.Constant.uniapp_mp_appid;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.os.IBinder;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.pingplusplus.android.Pingpp;
|
||||
import com.tencent.mm.opensdk.modelpay.PayReq;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import cn.shangyu.gdxzExpert.R;
|
||||
import cn.shangyu.gdxzExpert.application.BaseApplication;
|
||||
import cn.shangyu.gdxzExpert.base.BaseActivity;
|
||||
import cn.shangyu.gdxzExpert.bean.PayWechatBean;
|
||||
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
|
||||
import cn.shangyu.gdxzExpert.utils.Constant;
|
||||
import cn.shangyu.gdxzExpert.utils.DestroyActivityUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.OneClickUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.ECAlertDialog;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState;
|
||||
import io.dcloud.feature.sdk.Interface.IUniMP;
|
||||
|
||||
/**
|
||||
* uniapp 端调用 支付购买积分
|
||||
*/
|
||||
public class UniappPayPointActivity extends BaseActivity implements OnCallBackFromNet,
|
||||
OnCheckedChangeListener{
|
||||
private Intent getintent;
|
||||
private View view;
|
||||
private Button mBt_pay;
|
||||
private CheckBox mCb_balance, mCb_zhifubao, mCb_weixin, mCb_yinlian;
|
||||
private LinearLayout mLl_balance, mLl_zhifubao, mLl_weixin, mLl_yinlian;
|
||||
private String CHANNEL_ZHIFUBAO = "alipay";
|
||||
private String CHANNEL_WEIXIN = "wx";
|
||||
private String CHANNEL_YINLAN = "upacp";
|
||||
|
||||
private String payChannel = "0";
|
||||
private String pay_money;
|
||||
|
||||
private String product_id;
|
||||
private String type;
|
||||
|
||||
private String order_id;
|
||||
private TextView mTv_pay_money, mTv_pay_yue, mTv_monet_enough,pay_name,pay_type;
|
||||
private String uuid;
|
||||
private double pay;
|
||||
private boolean NoMoney = false;
|
||||
// private boolean isDetail = false;
|
||||
private boolean paySUCCESS = false;
|
||||
private String paymoney;
|
||||
private String jifen;
|
||||
|
||||
@Override
|
||||
public void setTitle() {
|
||||
// TODO Auto-generated method stub
|
||||
top_title.setText("购买积分");
|
||||
// pay_money = getIntent().getStringExtra("money");
|
||||
// order_id = getIntent().getStringExtra("order_id");
|
||||
// if (getIntent().getType() != null
|
||||
// && getIntent().getType().equals("detail")) {
|
||||
// isDetail = true;
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateSuccessedView() {
|
||||
// TODO Auto-generated method stub
|
||||
// api = WXAPIFactory.createWXAPI(this, Constant.WeId,false);
|
||||
// Intent intent = getIntent();
|
||||
// api.handleIntent(intent, this);
|
||||
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
|
||||
view = UIUtils.inflate(R.layout.activity_pay);
|
||||
mBt_pay = (Button) view.findViewById(R.id.bt_pay);
|
||||
mCb_balance = (CheckBox) view.findViewById(R.id.cb_pay_balance);
|
||||
mCb_zhifubao = (CheckBox) view.findViewById(R.id.cb_pay_zhifubao);
|
||||
mCb_weixin = (CheckBox) view.findViewById(R.id.cb_pay_weixin);
|
||||
mCb_yinlian = (CheckBox) view.findViewById(R.id.cb_pay_yinlian);
|
||||
mLl_balance = (LinearLayout) view.findViewById(R.id.ll_pay_balance);
|
||||
mLl_zhifubao = (LinearLayout) view.findViewById(R.id.ll_pay_zhifubao);
|
||||
mLl_weixin = (LinearLayout) view.findViewById(R.id.ll_pay_weixin);
|
||||
mLl_yinlian = (LinearLayout) view.findViewById(R.id.ll_pay_yinlian);
|
||||
mTv_pay_money = (TextView) view.findViewById(R.id.tv_pay_money);
|
||||
pay_type = (TextView) view.findViewById(R.id.pay_type);
|
||||
pay_name = (TextView) view.findViewById(R.id.pay_name);
|
||||
mTv_monet_enough = (TextView) view.findViewById(R.id.tv_money_enough);
|
||||
mTv_pay_yue = (TextView) view.findViewById(R.id.tv_yue);
|
||||
uuid = SharePrefUtil.getString(UniappPayPointActivity.this, "uuid", "");
|
||||
initIntent();
|
||||
initListener();
|
||||
getUserResult();
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initIntent() {
|
||||
// TODO Auto-generated method stub
|
||||
pay_money = getIntent().getStringExtra("money");
|
||||
product_id = getIntent().getStringExtra("product_id");
|
||||
type = getIntent().getStringExtra("type");
|
||||
order_id = getIntent().getStringExtra("order_id");
|
||||
jifen = getIntent().getStringExtra("jifen");
|
||||
//购买积分
|
||||
pay = Double.parseDouble(pay_money);
|
||||
mTv_pay_money.setText(paymoney);
|
||||
pay_type.setVisibility(View.GONE);
|
||||
pay_name.setText("您购买了"+jifen+"积分");
|
||||
}
|
||||
|
||||
private void initListener() {
|
||||
// TODO Auto-generated method stub
|
||||
mBt_pay.setOnClickListener(this);
|
||||
mCb_balance.setOnCheckedChangeListener(this);
|
||||
mCb_zhifubao.setOnCheckedChangeListener(this);
|
||||
mCb_weixin.setOnCheckedChangeListener(this);
|
||||
mCb_yinlian.setOnCheckedChangeListener(this);
|
||||
mLl_balance.setOnClickListener(this);
|
||||
mLl_weixin.setOnClickListener(this);
|
||||
mLl_yinlian.setOnClickListener(this);
|
||||
mLl_zhifubao.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else
|
||||
int buttonId = buttonView.getId();
|
||||
if (buttonId == R.id.cb_pay_balance) {
|
||||
if (isChecked) {
|
||||
payChannel = "balance";
|
||||
mCb_zhifubao.setChecked(false);
|
||||
mCb_weixin.setChecked(false);
|
||||
mCb_yinlian.setChecked(false);
|
||||
if (NoMoney) {
|
||||
payChannel = "0";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
payChannel = "0";
|
||||
if(mCb_weixin.isChecked())
|
||||
{
|
||||
payChannel = CHANNEL_WEIXIN;
|
||||
}
|
||||
}
|
||||
if (NoMoney) {
|
||||
ToastUtil.showMessage("余额不足");
|
||||
mCb_balance.setChecked(false);
|
||||
}
|
||||
} else if (buttonId == R.id.cb_pay_zhifubao) {
|
||||
if (isChecked) {
|
||||
payChannel = CHANNEL_ZHIFUBAO;
|
||||
mCb_balance.setChecked(false);
|
||||
mCb_weixin.setChecked(false);
|
||||
mCb_yinlian.setChecked(false);
|
||||
}
|
||||
} else if (buttonId == R.id.cb_pay_weixin) {
|
||||
if (isChecked) {
|
||||
payChannel = CHANNEL_WEIXIN;
|
||||
mCb_balance.setChecked(false);
|
||||
mCb_zhifubao.setChecked(false);
|
||||
mCb_yinlian.setChecked(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
payChannel = "0";
|
||||
if(mCb_balance.isChecked())
|
||||
{
|
||||
payChannel = "balance";
|
||||
}
|
||||
}
|
||||
} else if (buttonId == R.id.cb_pay_yinlian) {
|
||||
if (isChecked) {
|
||||
payChannel = CHANNEL_YINLAN;
|
||||
mCb_balance.setChecked(false);
|
||||
mCb_zhifubao.setChecked(false);
|
||||
mCb_weixin.setChecked(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultState onLoad() {
|
||||
// TODO Auto-generated method stub
|
||||
return ResultState.STATE_SUCCESSED;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processClick(View v) {
|
||||
// TODO Auto-generated method stub
|
||||
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else
|
||||
int id = v.getId();
|
||||
if (id == R.id.bt_pay) {
|
||||
// if(payChannel!=null)
|
||||
// {
|
||||
// PayReq request = new PayReq();
|
||||
// request.appId = Constant.WeId;
|
||||
// request.partnerId = Constant.PayId;
|
||||
// request.prepayId= "1101000000140415649af9fc314aa427";
|
||||
// request.packageValue = "Sign=WXPay";
|
||||
// request.nonceStr= "1101000000140429eb40476f8896f4c9";
|
||||
// request.timeStamp= "1398746574";
|
||||
// request.sign="oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ+QBhcCYL21N7cHCTUxbQ+EAt6Uy+lwSN22f5YZvI45MLko8Pfso0jm46v5hqcVwrk6uddkGuT+Cdvu4WBqDzaDjnNa5UK3GfE1Wfl2gHxIIY5lLdUgWFts17D4WuolLLkiFZV+JSHMvH7eaLdT9N5GBovBwu5yYKUR7skR8Fu+LozcSqQixnlEZUfyE55feLOQTUYzLmR9pNtPbPsu6WVhbNHMS3Ss2+AehHvz+n64GDmXxbX++IOBvm2olHu3PsO";
|
||||
// api.sendReq(request);
|
||||
// return;
|
||||
// }
|
||||
|
||||
|
||||
if (!payChannel.equals("0")) {
|
||||
// 按钮进入“支付中...”状态,并禁止再次点击
|
||||
if (mBt_pay != null) {
|
||||
mBt_pay.setEnabled(false);
|
||||
mBt_pay.setText("支付中...");
|
||||
}
|
||||
if(OneClickUtil.isFastDoubleClick(R.id.bt_pay,1500))
|
||||
{
|
||||
|
||||
return;
|
||||
}
|
||||
if (payChannel.equals("balance")) {
|
||||
if (NoMoney) {
|
||||
ToastUtil.showMessage("请选择付款方式");
|
||||
mCb_balance.setChecked(false);
|
||||
}else {
|
||||
sendMessageDialog();
|
||||
}
|
||||
|
||||
} else{
|
||||
|
||||
getPayChargeResult("");
|
||||
}
|
||||
|
||||
} else {
|
||||
ToastUtil.showMessage("请选择付款方式");
|
||||
}
|
||||
} else if (id == R.id.ll_pay_balance) {
|
||||
payChannel = "balance";
|
||||
mCb_balance.setChecked(true);
|
||||
mCb_zhifubao.setChecked(false);
|
||||
mCb_weixin.setChecked(false);
|
||||
mCb_yinlian.setChecked(false);
|
||||
|
||||
if (NoMoney) {
|
||||
ToastUtil.showMessage("余额不足");
|
||||
mCb_balance.setChecked(false);
|
||||
}
|
||||
} else if (id == R.id.ll_pay_zhifubao) {
|
||||
payChannel = CHANNEL_ZHIFUBAO;
|
||||
mCb_balance.setChecked(false);
|
||||
mCb_zhifubao.setChecked(true);
|
||||
mCb_weixin.setChecked(false);
|
||||
mCb_yinlian.setChecked(false);
|
||||
} else if (id == R.id.ll_pay_weixin) {
|
||||
payChannel = CHANNEL_WEIXIN;
|
||||
mCb_balance.setChecked(false);
|
||||
mCb_zhifubao.setChecked(false);
|
||||
mCb_weixin.setChecked(true);
|
||||
mCb_yinlian.setChecked(false);
|
||||
} else if (id == R.id.ll_pay_yinlian) {
|
||||
|
||||
payChannel = CHANNEL_YINLAN;
|
||||
mCb_balance.setChecked(false);
|
||||
mCb_zhifubao.setChecked(false);
|
||||
mCb_weixin.setChecked(false);
|
||||
mCb_yinlian.setChecked(true);
|
||||
}
|
||||
}
|
||||
|
||||
public static final int GET_CREATE_ORDER_RESULT = 101;
|
||||
public static final int GET_USER_DATA_RESULT = 201;
|
||||
public static final int GET_PAYR_SUCCESS_RESULT = 301;
|
||||
public static final int PAYPOINTORDER = 401;
|
||||
|
||||
// public void getPayResult() {
|
||||
// String uuid = SharePrefUtil.getString(ct, Constant.USERID, "");
|
||||
// Map<String, String> param = new HashMap<String, String>();
|
||||
// param.put("uid", uuid);
|
||||
// param.put("amount", 1 + "");
|
||||
// param.put("subject", "dasdkljh");
|
||||
// param.put("body", "asdasd");
|
||||
// sendParamtoNet(Url.getCreateOrder, param, GET_CREATE_ORDER_RESULT,
|
||||
// mActivity, true);
|
||||
// }
|
||||
|
||||
public void getPayChargeResult(String password) {
|
||||
Map<String, String> param = new HashMap<String, String>();
|
||||
// param.put("amount", pay_money);
|
||||
// param.put("order_id", order_id);
|
||||
// param.put("expert_uuid", uuid);
|
||||
param.put("trade_no", order_id);
|
||||
param.put("channel", payChannel);
|
||||
|
||||
if (CHANNEL_YINLAN.equals(payChannel)){
|
||||
ToastUtil.showMessage("暂不支持");
|
||||
}else {
|
||||
if (StringUtil.isEmpty(jifen)){//不是购买积分
|
||||
if (payChannel.equals("balance")) {
|
||||
param.put("pwd", password);
|
||||
}
|
||||
|
||||
|
||||
sendJsonPostParamtoNetSignMD5(Url.getPayXinYiOrder, param, GET_CREATE_ORDER_RESULT, this);
|
||||
}else {//购买积分
|
||||
if (payChannel.equals("balance")) {
|
||||
param.put("pwd", password);
|
||||
}else {
|
||||
param.put("pwd", "");
|
||||
}
|
||||
sendJsonPostParamtoNetSignMD5(Url.payPointOrder, param, GET_CREATE_ORDER_RESULT, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void getUserResult() {
|
||||
Map<String, String> param = new HashMap<String, String>();
|
||||
// param.put("user_uuid", uuid);
|
||||
sendJsonPostParamtoNetSignMD5(Url.getRetrieveUser, param, GET_USER_DATA_RESULT,
|
||||
this);
|
||||
}
|
||||
|
||||
// 完成订单
|
||||
public void getPaySucceedResult() {
|
||||
Map<String, String> param = new HashMap<String, String>();
|
||||
param.put("order_id", order_id);
|
||||
if (StringUtil.isEmpty(jifen)){
|
||||
sendParamtoNet(Url.getpayXinyiOrderSucceed, param,
|
||||
GET_PAYR_SUCCESS_RESULT, this, true);
|
||||
}else {
|
||||
|
||||
sendParamtoNet(Url.payPointOrderSucceed, param,
|
||||
GET_PAYR_SUCCESS_RESULT, this, true);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallbackFromThread(String resultJson) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallBackFromThread(String resultJson, int resultCode) {
|
||||
Log.d("WXEntryActivity",resultCode+" "+resultJson);
|
||||
// TODO Auto-generated method stub
|
||||
switch (resultCode) {
|
||||
case 102:
|
||||
try {
|
||||
JSONObject jsonObject=new JSONObject(resultJson);
|
||||
if("200".equals(jsonObject.getString("code")))
|
||||
{
|
||||
if("SUCCESS".equals(jsonObject.getJSONObject("data").getString("tradeState")))
|
||||
{
|
||||
paySUCCESS = true;
|
||||
Log.d("aaa","1 paySUCCESS "+paySUCCESS);
|
||||
aaa();
|
||||
}
|
||||
}
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
break;
|
||||
case GET_USER_DATA_RESULT:
|
||||
// RetrieveUser bean = GsonTools.fromGsonToBean(resultJson,
|
||||
// RetrieveUser.class);
|
||||
double yue = 0.0;
|
||||
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(resultJson);
|
||||
if (!"200".equals(jsonObject.getString("code"))) {
|
||||
ToastUtil.showMessage(jsonObject.getString("msg"));
|
||||
return;
|
||||
}
|
||||
yue = jsonObject.getDouble("data");
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
|
||||
mTv_pay_yue.setText("余额支付¥" + String.format("%.2f", yue / 100));
|
||||
if (pay > yue) {
|
||||
NoMoney = true;
|
||||
mTv_monet_enough.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mTv_monet_enough.setVisibility(View.INVISIBLE);
|
||||
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
case GET_CREATE_ORDER_RESULT:
|
||||
if(payChannel.equals("balance"))
|
||||
{
|
||||
try {
|
||||
JSONObject jsonObject=new JSONObject(resultJson);
|
||||
if("200".equals(jsonObject.getString("code")))
|
||||
{
|
||||
paySUCCESS = true;
|
||||
Log.d("aaa","2 paySUCCESS "+paySUCCESS);
|
||||
aaa();
|
||||
}
|
||||
else
|
||||
{
|
||||
ToastUtil.showToast(jsonObject.getString("msg"));
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
PayWechatBean payBean= GsonTools.fromGsonToBean(resultJson,
|
||||
PayWechatBean.class);
|
||||
if(payBean!=null&&"200".equals(payBean.getCode()))
|
||||
{
|
||||
PayReq request = new PayReq();
|
||||
request.appId = payBean.getData().getAppid();
|
||||
request.partnerId = payBean.getData().getPartnerid();
|
||||
request.prepayId= payBean.getData().getPrepayid();
|
||||
request.packageValue = payBean.getData().getPackage_str();
|
||||
request.nonceStr= payBean.getData().getNoncestr();
|
||||
request.timeStamp= payBean.getData().getTimestamp();
|
||||
request.sign=payBean.getData().getSign();
|
||||
api.sendReq(request);
|
||||
// Log.d("WXEntryActivity","pay "+pay);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
ToastUtil.showToast(payBean.getMessage());
|
||||
}
|
||||
// LogUtil.i("resultJson = "+resultJson);
|
||||
// if (payChannel.equals("")) {
|
||||
// if ("\"SUCCEED\"".equals(resultJson)) {
|
||||
// getPaySucceedResult();
|
||||
// } else if("\"密码错误\"".equals(resultJson)) {
|
||||
// ToastUtil.showMessage("密码错误");
|
||||
// }else{
|
||||
// ToastUtil.showMessage("支付失败");
|
||||
// }
|
||||
//
|
||||
// } else {
|
||||
// String result = StringEscapeUtils.unescapeJava(resultJson);
|
||||
// if (!StringUtil.isEmpty(result)) {
|
||||
// String sssss = result.substring(1, result.length() - 1);
|
||||
// Pingpp.createPayment(PayActivity.this, sssss);
|
||||
// } else {
|
||||
// ToastUtil.showMessage("服务器异常");
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
break;
|
||||
case GET_PAYR_SUCCESS_RESULT:
|
||||
if ("\"SUCCEED\"".equals(resultJson)) {
|
||||
ToastUtil.showMessage("支付成功");
|
||||
paySUCCESS = true;
|
||||
Log.d("aaa","3 paySUCCESS "+paySUCCESS);
|
||||
aaa();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private ECAlertDialog buildAlert;
|
||||
|
||||
public void aaa() {
|
||||
buildAlert = ECAlertDialog.buildAlert(UniappPayPointActivity.this, "购买"+jifen+"积分成功,谢谢您对肝胆相照平台的支持",
|
||||
null, "确定", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
// TODO Auto-generated method stub
|
||||
buildAlert.dismiss();
|
||||
}
|
||||
}, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
LogUtil.i("paySucess", "222" + type);
|
||||
IUniMP uniapp_MP_cash = BaseApplication.getUniMPCaches().get(uniapp_mp_appid);
|
||||
if(uniapp_MP_cash != null && uniapp_MP_cash.isRunning()){
|
||||
com.alibaba.fastjson.JSONObject pageParams = new com.alibaba.fastjson.JSONObject();
|
||||
String targetPath = "";
|
||||
if(type.equals("video")){
|
||||
pageParams.put("id",product_id);
|
||||
targetPath = "/pages_app/videoDetail/videoDetail";
|
||||
UniappUtil.showUniMp(UniappPayPointActivity.this, targetPath, pageParams);
|
||||
}else if(type.equals("goods")){
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
try {
|
||||
jsonObject.put("order_id", order_id);
|
||||
jsonObject.put("type", "BuyPoint");
|
||||
} catch (JSONException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
uniapp_MP_cash.sendUniMPEvent("paySuccess", jsonObject);
|
||||
uniapp_MP_cash.showUniMP();
|
||||
}else{
|
||||
targetPath = "/pages_app/myPoint/myPoint";
|
||||
UniappUtil.showUniMp(UniappPayPointActivity.this, targetPath, pageParams);
|
||||
}
|
||||
}
|
||||
UniappPayPointActivity.this.finish();
|
||||
buildAlert.dismiss();
|
||||
}
|
||||
});
|
||||
buildAlert.setTitle("提示");
|
||||
buildAlert.setTitleColor(UniappPayPointActivity.this.getResources().getColor(R.color.top_title));
|
||||
buildAlert.setCanceledOnTouchOutside(false);
|
||||
buildAlert.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
// TODO Auto-generated method stub
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == Pingpp.REQUEST_CODE_PAYMENT) {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
String result = data.getExtras().getString("pay_result");
|
||||
if (result.equals("success")) {
|
||||
getPaySucceedResult();
|
||||
}
|
||||
// 处理返回值
|
||||
// "success" - 支付成功
|
||||
// "fail" - 支付失败
|
||||
// "cancel" - 取消支付
|
||||
// "invalid" - 支付插件未安装(一般是微信客户端未安装的情况)
|
||||
String errorMsg = data.getExtras().getString("error_msg"); // 错误信息
|
||||
String extraMsg = data.getExtras().getString("extra_msg"); // 错误信息
|
||||
// showMsg(result, errorMsg, extraMsg);
|
||||
if (result.equals("cancel")) {
|
||||
ToastUtil.showMessage("已取消支付");
|
||||
}
|
||||
if (result.equals("fail")) {
|
||||
ToastUtil.showMessage("支付失败,请重新支付");
|
||||
}
|
||||
if (result.equals("invalid")) {
|
||||
ToastUtil.showMessage("请安装微信客户端");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showMsg(String title, String msg1, String msg2) {
|
||||
String str = title;
|
||||
if (null != msg1 && msg1.length() != 0) {
|
||||
str += "\n" + msg1;
|
||||
}
|
||||
if (null != msg2 && msg2.length() != 0) {
|
||||
str += "\n" + msg2;
|
||||
}
|
||||
Builder builder = new Builder(this);
|
||||
builder.setMessage(str);
|
||||
builder.setTitle("提示");
|
||||
builder.setPositiveButton("OK", null);
|
||||
builder.create().show();
|
||||
}
|
||||
|
||||
private Dialog dialog;
|
||||
EditText mEt_getpassword;
|
||||
|
||||
protected void sendMessageDialog() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
LayoutInflater inflater = LayoutInflater.from(this);
|
||||
RelativeLayout layout = (RelativeLayout) inflater.inflate(
|
||||
R.layout.dialog_get_password, null);
|
||||
// 2. 新建对话框对象
|
||||
dialog = new Builder(this,
|
||||
R.style.Theme_Light_FullScreenDialogAct).create();
|
||||
dialog.setCancelable(false);
|
||||
dialog.show();
|
||||
Window window =dialog.getWindow();
|
||||
// window.setGravity(Gravity.CENTER);
|
||||
WindowManager.LayoutParams layoutParams = window.getAttributes();
|
||||
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
window.setAttributes(layoutParams);
|
||||
dialog.getWindow().setContentView(layout);
|
||||
// 只用下面这一行弹出对话框时需要点击输入框才能弹出软键盘
|
||||
dialog.getWindow().clearFlags(
|
||||
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
|
||||
Button btn_cancel = (Button) layout.findViewById(R.id.dilaog_cancel);
|
||||
Button btn_sure = (Button) layout.findViewById(R.id.dilaog_sure);
|
||||
mEt_getpassword = (EditText) layout.findViewById(R.id.et_get_password);
|
||||
btn_cancel.setOnClickListener(new OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// TODO Auto-generated method stub
|
||||
hideSoftKeyboard(v);
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
btn_sure.setOnClickListener(new OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// TODO Auto-generated method stub
|
||||
String password = mEt_getpassword.getText().toString().trim();
|
||||
if (!StringUtil.isEmpty(password)) {
|
||||
getPayChargeResult(password);
|
||||
hideSoftKeyboard(v);
|
||||
dialog.dismiss();
|
||||
} else {
|
||||
ToastUtil.showMessage("请输入您的登陆密码");
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
if (paySUCCESS) {
|
||||
Log.d("aaa","4 paySUCCESS "+paySUCCESS);
|
||||
aaa();
|
||||
} else {
|
||||
getOrderStatus();
|
||||
}
|
||||
|
||||
// if (!paySUCCESS) {
|
||||
// getOrderStatus();
|
||||
// }
|
||||
}
|
||||
private void getOrderStatus()
|
||||
{ if(order_id==null)
|
||||
{
|
||||
order_id=getIntent().getStringExtra("order_id");
|
||||
}
|
||||
Map<String, String> param = new HashMap<>();
|
||||
// param.put("trade_no","99361202930720");
|
||||
param.put("trade_no",order_id);
|
||||
Log.d("WXEntryActivity","orderId "+order_id);
|
||||
sendJsonPostParamtoNetSignMD5(Url.getOrderStatus,param,102,this);
|
||||
|
||||
}
|
||||
@Override
|
||||
public void finish() {
|
||||
// TODO Auto-generated method stub
|
||||
if (paySUCCESS) {
|
||||
Intent intent = new Intent();
|
||||
setResult(201, intent);
|
||||
}
|
||||
super.finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
paySUCCESS=false;
|
||||
super.onDestroy();
|
||||
}
|
||||
public void hideSoftKeyboard(View localView) {
|
||||
InputMethodManager inputMethodManager = (InputMethodManager) ct
|
||||
.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
if (inputMethodManager != null) {
|
||||
// View localView = ((Activity) ct).getCurrentFocus();
|
||||
if (localView != null && localView.getWindowToken() != null) {
|
||||
IBinder windowToken = localView.getWindowToken();
|
||||
inputMethodManager.hideSoftInputFromWindow(windowToken, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,14 +5,18 @@ import static cn.shangyu.gdxzExpert.utils.Constant.uniapp_mp_appid;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Application;
|
||||
import android.app.Application.ActivityLifecycleCallbacks;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Process;
|
||||
import android.os.StrictMode;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.webkit.WebView;
|
||||
|
||||
import androidx.multidex.MultiDex;
|
||||
@@ -51,18 +55,25 @@ import org.json.JSONObject;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InvalidClassException;
|
||||
import java.io.Serializable;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import cn.shangyu.gdxzExpert.activity.PayActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.PayCourseActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.PublicConsultationActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.UniappPayCourseActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.UniappPayPointActivity;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.CourseDetailPolyvPlayerActivity;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import io.dcloud.feature.sdk.Interface.IUniMP;
|
||||
import io.dcloud.feature.sdk.DCSDKInitConfig;
|
||||
import io.dcloud.feature.sdk.DCUniMPSDK;
|
||||
@@ -94,6 +105,9 @@ import cn.shangyu.gdxzExpert.netease.mixpush.DemoMixPushMessageHandler;
|
||||
import cn.shangyu.gdxzExpert.netease.mixpush.DemoPushContentProvider;
|
||||
import cn.shangyu.gdxzExpert.netease.session.SessionHelper;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.util.PolyvStorageUtils;
|
||||
import cn.shangyu.gdxzExpert.report.CommUtil;
|
||||
import cn.shangyu.gdxzExpert.report.ReportService;
|
||||
import cn.shangyu.gdxzExpert.report.reportBean;
|
||||
import cn.shangyu.gdxzExpert.umeng.PushHelper;
|
||||
import cn.shangyu.gdxzExpert.utils.Constant;
|
||||
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||||
@@ -295,6 +309,43 @@ public class BaseApplication extends Application {
|
||||
// CrashHandler.getInstance().init(getApplicationContext());
|
||||
// }
|
||||
|
||||
// 注册Activity生命周期回调,用于跟踪当前resumed的Activity
|
||||
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
|
||||
@Override
|
||||
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityStarted(Activity activity) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResumed(Activity activity) {
|
||||
// 当Activity resumed时,更新当前Activity
|
||||
AppManager.setCurrentResumedActivity(activity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityPaused(Activity activity) {
|
||||
// 当Activity paused时,如果这是当前resumed的Activity,则清空
|
||||
// 这样下一个Activity的onResumed会更新为新的Activity
|
||||
AppManager.clearCurrentResumedActivity(activity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityStopped(Activity activity) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityDestroyed(Activity activity) {
|
||||
// 当Activity销毁时,如果这是当前resumed的Activity,则清空
|
||||
AppManager.clearCurrentResumedActivity(activity);
|
||||
}
|
||||
});
|
||||
|
||||
boolean isFirstRun=this.getSharedPreferences("share",MODE_PRIVATE).getBoolean("isFirstRun", true);
|
||||
if(!isFirstRun)//隐私权限
|
||||
@@ -325,11 +376,18 @@ public class BaseApplication extends Application {
|
||||
DCUniMPSDK.getInstance().setOnUniMPEventCallBack(new IOnUniMPEventCallBack() {
|
||||
@Override
|
||||
public void onUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
|
||||
LogUtil.i("onUniMPEventReceive appid="+appid);
|
||||
LogUtil.i("onUniMPEventReceive event="+event);
|
||||
LogUtil.i("onUniMPEventReceive data="+data);
|
||||
|
||||
Log.d("onUniMPEventReceive","appid="+appid);
|
||||
Log.d("onUniMPEventReceive","event="+event);
|
||||
Log.d("onUniMPEventReceive","data="+data);
|
||||
|
||||
if(appid == null){
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// 将参数声明为final,以便在内部类中使用
|
||||
final String finalEvent = event;
|
||||
final DCUniMPJSCallback finalCallback = callback;
|
||||
|
||||
// 解析 data
|
||||
String msgValue = null;
|
||||
@@ -343,79 +401,48 @@ public class BaseApplication extends Application {
|
||||
JSONObject jsonObject = new JSONObject(data.toString());
|
||||
msgValue = jsonObject.getString("msg");
|
||||
}
|
||||
final String finalMsgValue = msgValue;
|
||||
|
||||
// payPonitPage 特殊处理:不再依赖 currentActivity,直接在 handleUniMPEvent 中用 Application 启动页面
|
||||
if ("payPonitPage".equals(finalEvent)) {
|
||||
handleUniMPEvent(null, finalEvent, finalMsgValue, finalCallback);
|
||||
return;
|
||||
}
|
||||
|
||||
Activity currentActivity = null;
|
||||
try {
|
||||
AppManager appManager = AppManager.getAppManager();
|
||||
if (appManager != null) {
|
||||
// 打印当前 activityStack 和 currentResumedActivity,方便排查 currentActivity 为空的问题
|
||||
AppManager.logActivityStackInternal("BaseApplication.onUniMPEventReceive");
|
||||
currentActivity = appManager.currentActivity();
|
||||
LogUtil.i("unimp", "BaseApplication 获取 currentActivity = "
|
||||
+ (currentActivity == null ? "null" : currentActivity.getClass().getSimpleName()));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LogUtil.e("获取当前Activity失败: " + e.getMessage());
|
||||
}
|
||||
|
||||
// 如果获取不到Activity,直接返回失败结果(不再重试)
|
||||
if (currentActivity == null) {
|
||||
LogUtil.e("当前Activity为空,无法处理uniapp事件");
|
||||
LogUtil.w("当前Activity为空,无法处理uniapp事件: " + finalEvent);
|
||||
if (finalCallback != null) {
|
||||
try {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("code", 0);
|
||||
result.put("msg", "no_activity");
|
||||
result.put("event", finalEvent);
|
||||
finalCallback.invoke(result);
|
||||
} catch (Exception e) {
|
||||
LogUtil.e("回调 uniapp 活动获取失败结果时出错: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if(event.equals("goTabbarPage")){
|
||||
// MainActivity 特有的逻辑,需要检查当前 Activity 是否是 MainActivity
|
||||
if (currentActivity instanceof cn.shangyu.gdxzExpert.activity.MainActivity) {
|
||||
cn.shangyu.gdxzExpert.activity.MainActivity mainActivity = (cn.shangyu.gdxzExpert.activity.MainActivity) currentActivity;
|
||||
if (currentActivity instanceof BaseActivity) {
|
||||
((BaseActivity) currentActivity).handleMainActivityEvent(mainActivity, event, msgValue);
|
||||
}
|
||||
}
|
||||
} else if (event.equals("getScanCodeAuth")){
|
||||
if (currentActivity instanceof BaseActivity) {
|
||||
((BaseActivity) currentActivity).handleScanCodeAuth(callback);
|
||||
}
|
||||
} else if(event.equals("checkToken")){
|
||||
if (currentActivity instanceof BaseActivity) {
|
||||
((BaseActivity) currentActivity).handleCheckToken(callback);
|
||||
}
|
||||
} else if(event.equals("getNewToken")){
|
||||
if (currentActivity instanceof BaseActivity) {
|
||||
((BaseActivity) currentActivity).handleCheckToken(callback);
|
||||
}
|
||||
} else if(event.equals("goHomeSearch")){
|
||||
if (currentActivity != null) {
|
||||
Intent intentv = new Intent(currentActivity, cn.shangyu.gdxzExpert.activity.PublicSearchActivity.class);
|
||||
|
||||
if (msgValue.equals("patientVideo")) {
|
||||
intentv.setType("patientVideo");
|
||||
}else if (msgValue.equals("meetVideo")) {
|
||||
intentv.setType("video");
|
||||
}else if (msgValue.equals("zhinan")) {
|
||||
intentv.setType("drug");
|
||||
}else if (msgValue.equals("ppt")) {
|
||||
intentv.setType("course");
|
||||
}
|
||||
currentActivity.startActivity(intentv);
|
||||
}
|
||||
} else if(event.equals("buyPointPage")) {
|
||||
if (currentActivity != null) {
|
||||
Intent intentv = new Intent(currentActivity, cn.shangyu.gdxzExpert.pointsmall.BuyIntegerActivty.class);
|
||||
currentActivity.startActivity(intentv);
|
||||
}
|
||||
} else if(event.equals("payPptPage")) {
|
||||
if (currentActivity != null) {
|
||||
LogUtil.i("payPptPage", msgValue);
|
||||
JSONObject jsonObject = new JSONObject(msgValue);
|
||||
|
||||
// 获取值
|
||||
Integer price = jsonObject.getInt("price");
|
||||
String providername = jsonObject.getString("providername");
|
||||
// String order_id = jsonObject.getString("order_id");
|
||||
String trade_no = jsonObject.getString("trade_no");
|
||||
Intent intent = new Intent(currentActivity, UniappPayCourseActivity.class);
|
||||
intent.putExtra("providername", providername);
|
||||
intent.putExtra("money", price + "");
|
||||
intent.putExtra("order_id", trade_no);
|
||||
currentActivity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
// 处理事件
|
||||
handleUniMPEvent(currentActivity, finalEvent, finalMsgValue, finalCallback);
|
||||
}catch (Exception e){
|
||||
LogUtil.e("处理uniapp事件时出错: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
@@ -423,6 +450,239 @@ public class BaseApplication extends Application {
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 安全地从JSONObject获取整数值(支持字符串和数字类型)
|
||||
*/
|
||||
private Integer getIntSafely(JSONObject jsonObject, String key) {
|
||||
try {
|
||||
if (jsonObject.has(key)) {
|
||||
Object value = jsonObject.get(key);
|
||||
if (value instanceof Integer) {
|
||||
return (Integer) value;
|
||||
} else if (value instanceof String) {
|
||||
return Integer.parseInt((String) value);
|
||||
} else if (value instanceof Number) {
|
||||
return ((Number) value).intValue();
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LogUtil.e("解析JSON字段 " + key + " 失败: " + e.getMessage());
|
||||
}
|
||||
return 0; // 默认返回0
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理uniapp事件的实际逻辑
|
||||
*/
|
||||
private void handleUniMPEvent(Activity currentActivity, String event, String msgValue, DCUniMPJSCallback callback) {
|
||||
try {
|
||||
if(event.equals("goTabbarPage")){
|
||||
// MainActivity 特有的逻辑,需要检查当前 Activity 是否是 MainActivity
|
||||
if (currentActivity instanceof cn.shangyu.gdxzExpert.activity.MainActivity) {
|
||||
cn.shangyu.gdxzExpert.activity.MainActivity mainActivity = (cn.shangyu.gdxzExpert.activity.MainActivity) currentActivity;
|
||||
if (currentActivity instanceof BaseActivity) {
|
||||
((BaseActivity) currentActivity).handleMainActivityEvent(mainActivity, event, msgValue);
|
||||
}
|
||||
}
|
||||
} else if (event.equals("getScanCodeAuth")){
|
||||
if (currentActivity instanceof BaseActivity) {
|
||||
((BaseActivity) currentActivity).handleScanCodeAuth(callback);
|
||||
}
|
||||
} else if(event.equals("checkToken")){
|
||||
if (currentActivity instanceof BaseActivity) {
|
||||
((BaseActivity) currentActivity).handleCheckToken(callback);
|
||||
}
|
||||
} else if(event.equals("getNewToken")){
|
||||
if (currentActivity instanceof BaseActivity) {
|
||||
((BaseActivity) currentActivity).handleCheckToken(callback);
|
||||
}
|
||||
} else if(event.equals("goHomeSearch")){
|
||||
if (currentActivity != null) {
|
||||
Intent intentv = new Intent(currentActivity, cn.shangyu.gdxzExpert.activity.PublicSearchActivity.class);
|
||||
|
||||
if (msgValue.equals("patientVideo")) {
|
||||
intentv.setType("patientVideo");
|
||||
}else if (msgValue.equals("meetVideo")) {
|
||||
intentv.setType("video");
|
||||
}else if (msgValue.equals("zhinan")) {
|
||||
intentv.setType("drug");
|
||||
}else if (msgValue.equals("ppt")) {
|
||||
intentv.setType("course");
|
||||
}else if (msgValue.equals("pointMall")) {
|
||||
intentv.setType("shopping");
|
||||
}else if (msgValue.equals("patientClass")) {
|
||||
intentv.setType("science");
|
||||
}else if (msgValue.equals("news")) {
|
||||
intentv.setType("news");
|
||||
}
|
||||
currentActivity.startActivity(intentv);
|
||||
}
|
||||
} else if(event.equals("buyPointPage")) {
|
||||
// 我的积分页:不再依赖 currentActivity,直接使用 Application 作为 Context 启动页面
|
||||
Intent intentv = new Intent(BaseApplication.this, cn.shangyu.gdxzExpert.pointsmall.BuyIntegerActivty.class);
|
||||
intentv.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intentv);
|
||||
} else if(event.equals("payPptPage")) {
|
||||
if (currentActivity != null) {
|
||||
LogUtil.i("payPptPage", msgValue);
|
||||
JSONObject jsonObject = new JSONObject(msgValue);
|
||||
|
||||
// 获取值,安全地处理可能是字符串或数字的字段
|
||||
Integer price = getIntSafely(jsonObject, "price");
|
||||
String providername = jsonObject.optString("providername", "");
|
||||
String trade_no = jsonObject.optString("trade_no", "");
|
||||
Intent intent = new Intent(currentActivity, UniappPayCourseActivity.class);
|
||||
intent.putExtra("providername", providername);
|
||||
intent.putExtra("money", price + "");
|
||||
intent.putExtra("order_id", trade_no);
|
||||
currentActivity.startActivity(intent);
|
||||
}
|
||||
}else if(event.equals("payPonitPage")) {
|
||||
// 支付积分页:不再依赖 currentActivity,直接使用 Application 作为 Context 启动页面
|
||||
LogUtil.i("payPointPage", msgValue);
|
||||
JSONObject jsonObject = new JSONObject(msgValue);
|
||||
// 获取值,安全地处理可能是字符串或数字的字段
|
||||
Integer price = getIntSafely(jsonObject, "price");
|
||||
Integer jifen = getIntSafely(jsonObject, "jifen");
|
||||
Integer product_id = getIntSafely(jsonObject, "product_id");
|
||||
String trade_no = jsonObject.optString("trade_no", "");
|
||||
String type = jsonObject.optString("type", "");
|
||||
|
||||
Intent intent = new Intent(BaseApplication.this, UniappPayPointActivity.class);
|
||||
intent.putExtra("money", price + "");
|
||||
intent.putExtra("order_id", trade_no);
|
||||
intent.putExtra("jifen", jifen + "");
|
||||
intent.putExtra("type", type + "");
|
||||
intent.putExtra("product_id", product_id + "");
|
||||
intent.setType("detail");
|
||||
// Application 上下文启动 Activity 必须加 NEW_TASK
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
}else if(event.equals("goPatientMsg")) {
|
||||
Intent intent = null;
|
||||
if (currentActivity != null) {
|
||||
intent = new Intent(currentActivity, cn.shangyu.gdxzExpert.activity.MyPatientActivity.class);
|
||||
// 尽量复用栈中的 MyPatientActivity,并把新 Intent 分发到 onNewIntent
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
|
||||
intent.putExtra("open_patient_msg", true);
|
||||
currentActivity.startActivity(intent);
|
||||
} else {
|
||||
intent = new Intent(BaseApplication.this, cn.shangyu.gdxzExpert.activity.MyPatientActivity.class);
|
||||
intent.putExtra("open_patient_msg", true);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
}
|
||||
}else if(event.equals("goSendMsg")) {
|
||||
if (currentActivity != null) {
|
||||
String patientUuid = msgValue;
|
||||
try {
|
||||
// 兼容 msg 为纯字符串或 JSON 字符串两种格式
|
||||
JSONObject jsonObject = new JSONObject(msgValue);
|
||||
patientUuid = jsonObject.optString("patientuuid", jsonObject.optString("uuid", msgValue));
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
if (!TextUtils.isEmpty(patientUuid)) {
|
||||
SessionHelper.startP2PSession(currentActivity, patientUuid.toLowerCase(), Constant.general, "");
|
||||
} else {
|
||||
LogUtil.w("goSendMsg 缺少 patientUuid, msgValue=" + msgValue);
|
||||
}
|
||||
}
|
||||
}else if(event.equals("goCourseDetail")) {
|
||||
String courseId = msgValue;
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(msgValue);
|
||||
courseId = jsonObject.optString("id",
|
||||
jsonObject.optString("excellentcourse_id", msgValue));
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
if (TextUtils.isEmpty(courseId)) {
|
||||
LogUtil.w("goCourseDetail 缺少课程id, msgValue=" + msgValue);
|
||||
return;
|
||||
}
|
||||
Intent intent = null;
|
||||
if (currentActivity != null) {
|
||||
intent = new Intent(currentActivity, CourseDetailPolyvPlayerActivity.class);
|
||||
intent.putExtra("excellentcourse_id", courseId);
|
||||
intent.putExtra("pinglun", "yes");
|
||||
intent.putExtra("from_unimp_go_course_detail", true);
|
||||
currentActivity.startActivity(intent);
|
||||
} else {
|
||||
intent = new Intent(BaseApplication.this, CourseDetailPolyvPlayerActivity.class);
|
||||
intent.putExtra("excellentcourse_id", courseId);
|
||||
intent.putExtra("pinglun", "yes");
|
||||
intent.putExtra("from_unimp_go_course_detail", true);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
}
|
||||
}else if(event.equals("goGroupMessagePage")) {
|
||||
Intent intent = null;
|
||||
if (currentActivity != null) {
|
||||
intent = new Intent(currentActivity, cn.shangyu.gdxzExpert.activity.SendGroupMsgListActivity.class);
|
||||
currentActivity.startActivity(intent);
|
||||
} else {
|
||||
intent = new Intent(BaseApplication.this, cn.shangyu.gdxzExpert.activity.SendGroupMsgListActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
}
|
||||
}else if(event.equals("portraitReport")){
|
||||
String event_nickname = "";
|
||||
String page_type = "";
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(msgValue);
|
||||
event_nickname = jsonObject.optString("event_nickname");
|
||||
page_type = jsonObject.optString("page_type");
|
||||
String resource_name = jsonObject.optString("resource_name");
|
||||
String resource_option = jsonObject.optString("resource_option");
|
||||
String belong = jsonObject.optString("belong");
|
||||
String number = jsonObject.optString("number");
|
||||
// String tags = jsonObject.optString("tags");
|
||||
String event_val = jsonObject.optString("event_val");
|
||||
String event_unit = jsonObject.optString("event_unit");
|
||||
if(event_nickname.equals("list_page")){
|
||||
// 执行列表页上报
|
||||
needreportPage(page_type);
|
||||
} else if (event_nickname.equals("magazine_donwload")) {
|
||||
needreportDown(resource_name,resource_option,belong,number,page_type);
|
||||
} else if (event_nickname.equals("detail_page")) {
|
||||
needreportDetail(page_type,resource_option,resource_name);
|
||||
} else if (event_nickname.equals("viorder_deo_download")) {
|
||||
needreportPay(event_nickname,event_val,event_unit,number,resource_name,resource_option,belong,page_type);
|
||||
} else if (event_nickname.equals("collect")) {
|
||||
needreportSome(event_nickname,resource_name,resource_option,page_type);
|
||||
} else if (event_nickname.equals("share")) {
|
||||
needreportSome(event_nickname,resource_name,resource_option,page_type);
|
||||
} else if (event_nickname.equals("like")) {
|
||||
needreportSome(event_nickname,resource_name,resource_option,page_type);
|
||||
} else if (event_nickname.equals("comment")) {
|
||||
needreportSome(event_nickname,resource_name,resource_option,page_type);
|
||||
} else if (event_nickname.equals("order_gdfile_download")) {
|
||||
needreportPays(event_nickname,event_val,event_unit,number,resource_name,resource_option,page_type);
|
||||
} else if (event_nickname.equals("magazine_donwload")) {
|
||||
needreportPays(event_nickname,event_val,event_unit,number,resource_name,resource_option,page_type);
|
||||
} else if (event_nickname.equals("boint_jifengood")) {
|
||||
needreportPay(event_nickname,event_val,event_unit,number,resource_name,resource_option,belong,page_type);
|
||||
} else if (event_nickname.equals("read_message")) {
|
||||
needreportSimple(event_nickname);
|
||||
} else if (event_nickname.equals("clear_message")) {
|
||||
needreportSimple(event_nickname);
|
||||
} else if (event_nickname.equals("signin")) {
|
||||
needreportSimple(event_nickname);
|
||||
} else if(event_nickname.equals("watch_video")){
|
||||
needreportPay(event_nickname,event_val,event_unit,number,resource_name,resource_option,belong,page_type);
|
||||
} else {
|
||||
needreportSimple(event_nickname);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
LogUtil.e("上报事件时出错: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
LogUtil.e("处理uniapp事件时出错: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void initYinsi()
|
||||
{
|
||||
OkHttpClient okHttpClient = new OkHttpClient.Builder()
|
||||
@@ -887,4 +1147,158 @@ public class BaseApplication extends Application {
|
||||
return options;
|
||||
}
|
||||
|
||||
public void needreportDown(String page,String tags,String bl,String nm,String pagetype)
|
||||
{
|
||||
List<reportBean> reportBeans=new ArrayList<>();
|
||||
reportBean rbens=new reportBean();
|
||||
rbens.setUser_id(Constant.Report_userId);
|
||||
rbens.setApp_key(Constant.Repotr_app_key);
|
||||
rbens.setOs(CommUtil.Repotr_os);
|
||||
rbens.setDevice(CommUtil.getDeviceName());
|
||||
rbens.setDevice_type(CommUtil.getDeviceType());
|
||||
rbens.setApp_version(CommUtil.getVersionName());
|
||||
rbens.setNetwork_carrier(CommUtil.getCarrierName);
|
||||
rbens.setNetwork_type(CommUtil.getCurrentNetworkType(UIUtils.getContext()));
|
||||
rbens.setEvent_nickname("magazine_donwload");
|
||||
rbens.setBelong(bl);
|
||||
rbens.setNumber(nm);
|
||||
rbens.setResource_name(page);
|
||||
rbens.setResource_option(tags+"");
|
||||
rbens.setPage_type(pagetype);
|
||||
rbens.setCreate_date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
reportBeans.add(rbens);
|
||||
startReport(reportBeans);
|
||||
}
|
||||
public void needreportDetail(String page,String tags,String name)
|
||||
{
|
||||
List<reportBean> reportBeans=new ArrayList<>();
|
||||
reportBean rbens=new reportBean();
|
||||
rbens.setUser_id(Constant.Report_userId);
|
||||
rbens.setApp_key(Constant.Repotr_app_key);
|
||||
rbens.setOs(CommUtil.Repotr_os);
|
||||
rbens.setDevice(CommUtil.getDeviceName());
|
||||
rbens.setDevice_type(CommUtil.getDeviceType());
|
||||
rbens.setApp_version(CommUtil.getVersionName());
|
||||
rbens.setNetwork_carrier(CommUtil.getCarrierName);
|
||||
rbens.setNetwork_type(CommUtil.getCurrentNetworkType(UIUtils.getContext()));
|
||||
rbens.setEvent_nickname("detail_page");
|
||||
rbens.setPage_type(page);
|
||||
rbens.setResource_name(name);
|
||||
rbens.setPage_type(page);
|
||||
rbens.setResource_option(tags+"");
|
||||
rbens.setCreate_date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
reportBeans.add(rbens);
|
||||
startReport(reportBeans);
|
||||
}
|
||||
public void needreportSome(String name,String page,String tags,String typepage)
|
||||
{
|
||||
List<reportBean> reportBeans=new ArrayList<>();
|
||||
reportBean rbens=new reportBean();
|
||||
rbens.setUser_id(Constant.Report_userId);
|
||||
rbens.setApp_key(Constant.Repotr_app_key);
|
||||
rbens.setOs(CommUtil.Repotr_os);
|
||||
rbens.setDevice(CommUtil.getDeviceName());
|
||||
rbens.setDevice_type(CommUtil.getDeviceType());
|
||||
rbens.setApp_version(CommUtil.getVersionName());
|
||||
rbens.setNetwork_carrier(CommUtil.getCarrierName);
|
||||
rbens.setNetwork_type(CommUtil.getCurrentNetworkType(UIUtils.getContext()));
|
||||
rbens.setEvent_nickname(name);
|
||||
rbens.setResource_name(page);
|
||||
rbens.setPage_type(typepage);
|
||||
rbens.setResource_option(tags+"");
|
||||
rbens.setCreate_date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
reportBeans.add(rbens);
|
||||
startReport(reportBeans);
|
||||
}
|
||||
public void needreportSimple(String name)
|
||||
{
|
||||
List<reportBean> reportBeans=new ArrayList<>();
|
||||
reportBean rbens=new reportBean();
|
||||
rbens.setUser_id(Constant.Report_userId);
|
||||
rbens.setApp_key(Constant.Repotr_app_key);
|
||||
rbens.setOs(CommUtil.Repotr_os);
|
||||
rbens.setDevice(CommUtil.getDeviceName());
|
||||
rbens.setDevice_type(CommUtil.getDeviceType());
|
||||
rbens.setApp_version(CommUtil.getVersionName());
|
||||
rbens.setNetwork_carrier(CommUtil.getCarrierName);
|
||||
rbens.setNetwork_type(CommUtil.getCurrentNetworkType(UIUtils.getContext()));
|
||||
rbens.setEvent_nickname(name);
|
||||
rbens.setCreate_date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
reportBeans.add(rbens);
|
||||
startReport(reportBeans);
|
||||
}
|
||||
|
||||
public void needreportPage(String page) {
|
||||
List<reportBean> reportBeans = new ArrayList<>();
|
||||
reportBean rbens = new reportBean();
|
||||
rbens.setUser_id(Constant.Report_userId);
|
||||
rbens.setApp_key(Constant.Repotr_app_key);
|
||||
rbens.setOs(CommUtil.Repotr_os);
|
||||
rbens.setDevice(CommUtil.getDeviceName());
|
||||
rbens.setDevice_type(CommUtil.getDeviceType());
|
||||
rbens.setApp_version(CommUtil.getVersionName());
|
||||
rbens.setNetwork_carrier(CommUtil.getCarrierName);
|
||||
rbens.setNetwork_type(CommUtil.getCurrentNetworkType(this));
|
||||
rbens.setEvent_nickname("list_page");
|
||||
rbens.setPage_type(page);
|
||||
rbens.setCreate_date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
reportBeans.add(rbens);
|
||||
startReport(reportBeans);
|
||||
}
|
||||
public void needreportPays(String name, String ev,String ui,String num,String rs,String op,String page)
|
||||
{
|
||||
List<reportBean> reportBeans=new ArrayList<>();
|
||||
reportBean rbens=new reportBean();
|
||||
rbens.setUser_id(Constant.Report_userId);
|
||||
rbens.setApp_key(Constant.Repotr_app_key);
|
||||
rbens.setOs(CommUtil.Repotr_os);
|
||||
rbens.setDevice(CommUtil.getDeviceName());
|
||||
rbens.setDevice_type(CommUtil.getDeviceType());
|
||||
rbens.setApp_version(CommUtil.getVersionName());
|
||||
rbens.setNetwork_carrier(CommUtil.getCarrierName);
|
||||
rbens.setNetwork_type(CommUtil.getCurrentNetworkType(UIUtils.getContext()));
|
||||
rbens.setEvent_nickname(name);
|
||||
rbens.setEvent_val(ev);
|
||||
rbens.setEvent_unit(ui);
|
||||
rbens.setNumber(num);
|
||||
rbens.setResource_name(rs);
|
||||
rbens.setPage_type(page);
|
||||
rbens.setResource_option(op);
|
||||
rbens.setCreate_date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
reportBeans.add(rbens);
|
||||
startReport(reportBeans);
|
||||
}
|
||||
public void needreportPay(String name, String ev,String ui,String num,String rs,String op,String bl,String pt)
|
||||
{
|
||||
List<reportBean> reportBeans=new ArrayList<>();
|
||||
reportBean rbens=new reportBean();
|
||||
rbens.setUser_id(Constant.Report_userId);
|
||||
rbens.setApp_key(Constant.Repotr_app_key);
|
||||
rbens.setOs(CommUtil.Repotr_os);
|
||||
rbens.setDevice(CommUtil.getDeviceName());
|
||||
rbens.setDevice_type(CommUtil.getDeviceType());
|
||||
rbens.setApp_version(CommUtil.getVersionName());
|
||||
rbens.setNetwork_carrier(CommUtil.getCarrierName);
|
||||
rbens.setNetwork_type(CommUtil.getCurrentNetworkType(UIUtils.getContext()));
|
||||
rbens.setEvent_nickname(name);
|
||||
rbens.setEvent_val(ev);
|
||||
rbens.setEvent_unit(ui);
|
||||
rbens.setNumber(num);
|
||||
rbens.setResource_name(rs);
|
||||
rbens.setResource_option(op);
|
||||
rbens.setBelong(bl);
|
||||
rbens.setPage_type(pt);
|
||||
rbens.setCreate_date(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
reportBeans.add(rbens);
|
||||
startReport(reportBeans);
|
||||
}
|
||||
public void startReport(List<reportBean> list) {
|
||||
Intent intent = new Intent(BaseApplication.this, ReportService.class);
|
||||
if (list != null) {
|
||||
intent.putExtra("report_list", (Serializable) list);
|
||||
}
|
||||
intent.putExtra("report_token", Constant.Repotr_token);
|
||||
startService(intent);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,154 +1,275 @@
|
||||
package cn.shangyu.gdxzExpert.base;
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
|
||||
import java.util.Stack;
|
||||
|
||||
public class AppManager {
|
||||
|
||||
private static Stack<Activity> activityStack;
|
||||
private static AppManager instance;
|
||||
private static Stack<Activity> activityStack1;
|
||||
private static Stack<Activity> activityStack2;
|
||||
|
||||
private AppManager(){}
|
||||
/**
|
||||
* 单一实例
|
||||
*/
|
||||
public static AppManager getAppManager(){
|
||||
if(instance==null){
|
||||
instance=new AppManager();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
/**
|
||||
* 添加Activity到堆
|
||||
*/
|
||||
public void addActivity(Activity activity){
|
||||
if(activityStack==null){
|
||||
activityStack=new Stack<Activity>();
|
||||
}
|
||||
activityStack.add(activity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加积分Activity到堆
|
||||
*/
|
||||
public void addActivity1(Activity activity){
|
||||
if(activityStack1==null){
|
||||
activityStack1=new Stack<Activity>();
|
||||
}
|
||||
activityStack1.add(activity);
|
||||
}
|
||||
/**
|
||||
* 添加一问多答Activity到堆
|
||||
*/
|
||||
public void addActivity2(Activity activity){
|
||||
if(activityStack2==null){
|
||||
activityStack2=new Stack<Activity>();
|
||||
}
|
||||
activityStack2.add(activity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束所有积分Activity
|
||||
*/
|
||||
public void finishAllActivity1(){
|
||||
if (activityStack1!=null) {
|
||||
for (int i = 0, size = activityStack1.size(); i < size; i++){
|
||||
if (null != activityStack1.get(i)){
|
||||
activityStack1.get(i).finish();
|
||||
}
|
||||
}
|
||||
activityStack1.clear();
|
||||
}
|
||||
// android.os.Process.killProcess(android.os.Process.myPid());
|
||||
}
|
||||
/**
|
||||
* 结束所有一问多答Activity
|
||||
*/
|
||||
public void finishAllActivity2(){
|
||||
if (activityStack2!=null) {
|
||||
for (int i = 0, size = activityStack2.size(); i < size; i++){
|
||||
if (null != activityStack2.get(i)){
|
||||
activityStack2.get(i).finish();
|
||||
}
|
||||
}
|
||||
activityStack2.clear();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前Activity(堆栈中最后压入的)
|
||||
*/
|
||||
public Activity currentActivity(){
|
||||
Activity activity=activityStack.lastElement();
|
||||
return activity;
|
||||
}
|
||||
/**
|
||||
* 结束当前Activity(堆栈中最后压入的)
|
||||
*/
|
||||
public void finishActivity(){
|
||||
Activity activity=activityStack.lastElement();
|
||||
finishActivity(activity);
|
||||
}
|
||||
/**
|
||||
* 结束指定的Activity
|
||||
*/
|
||||
public void finishActivity(Activity activity){
|
||||
if(activity!=null&&activityStack!=null){
|
||||
activityStack.remove(activity);
|
||||
activity.finish();
|
||||
activity=null;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 结束指定的Activity
|
||||
*/
|
||||
public void finishActivity2(Activity activity){
|
||||
if(activity!=null){
|
||||
activityStack2.remove(activity);
|
||||
activity.finish();
|
||||
activity=null;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 结束指定类名的Activity
|
||||
*/
|
||||
public void finishActivity(Class<?> cls){
|
||||
for (Activity activity : activityStack) {
|
||||
if(activity.getClass().equals(cls) ){
|
||||
finishActivity(activity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束所有Activity
|
||||
*/
|
||||
public void finishAllActivity(){
|
||||
for (int i = 0, size = activityStack.size(); i < size; i++){
|
||||
if (null != activityStack.get(i)){
|
||||
activityStack.get(i).finish();
|
||||
}
|
||||
}
|
||||
activityStack.clear();
|
||||
android.os.Process.killProcess(android.os.Process.myPid());
|
||||
}
|
||||
/**
|
||||
* 退出应用程序
|
||||
*/
|
||||
public void AppExit(Context context) {
|
||||
try {
|
||||
finishAllActivity();
|
||||
ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
|
||||
// activityMgr.restartPackage(context.getPackageName());
|
||||
activityMgr.killBackgroundProcesses(context.getPackageName());
|
||||
System.exit(0);
|
||||
android.os.Process.killProcess(android.os.Process.myPid());
|
||||
} catch (Exception e) { }
|
||||
}
|
||||
package cn.shangyu.gdxzExpert.base;
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
|
||||
import java.util.Stack;
|
||||
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||||
|
||||
public class AppManager {
|
||||
|
||||
private static Stack<Activity> activityStack;
|
||||
private static AppManager instance;
|
||||
private static Stack<Activity> activityStack1;
|
||||
private static Stack<Activity> activityStack2;
|
||||
// 当前resumed的Activity,通过ActivityLifecycleCallbacks跟踪
|
||||
private static Activity currentResumedActivity;
|
||||
|
||||
private AppManager(){}
|
||||
/**
|
||||
* 单一实例
|
||||
*/
|
||||
public static AppManager getAppManager(){
|
||||
if(instance==null){
|
||||
instance=new AppManager();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
/**
|
||||
* 添加Activity到堆
|
||||
*/
|
||||
public void addActivity(Activity activity){
|
||||
if(activityStack==null){
|
||||
activityStack=new Stack<Activity>();
|
||||
}
|
||||
activityStack.add(activity);
|
||||
LogUtil.i("AppManager", "addActivity -> "
|
||||
+ (activity == null ? "null" : activity.getClass().getSimpleName())
|
||||
+ ", stackSize=" + activityStack.size());
|
||||
logActivityStackInternal("addActivity");
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加积分Activity到堆
|
||||
*/
|
||||
public void addActivity1(Activity activity){
|
||||
if(activityStack1==null){
|
||||
activityStack1=new Stack<Activity>();
|
||||
}
|
||||
activityStack1.add(activity);
|
||||
}
|
||||
/**
|
||||
* 添加一问多答Activity到堆
|
||||
*/
|
||||
public void addActivity2(Activity activity){
|
||||
if(activityStack2==null){
|
||||
activityStack2=new Stack<Activity>();
|
||||
}
|
||||
activityStack2.add(activity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束所有积分Activity
|
||||
*/
|
||||
public void finishAllActivity1(){
|
||||
if (activityStack1!=null) {
|
||||
for (int i = 0, size = activityStack1.size(); i < size; i++){
|
||||
if (null != activityStack1.get(i)){
|
||||
activityStack1.get(i).finish();
|
||||
}
|
||||
}
|
||||
activityStack1.clear();
|
||||
}
|
||||
// android.os.Process.killProcess(android.os.Process.myPid());
|
||||
}
|
||||
/**
|
||||
* 结束所有一问多答Activity
|
||||
*/
|
||||
public void finishAllActivity2(){
|
||||
if (activityStack2!=null) {
|
||||
for (int i = 0, size = activityStack2.size(); i < size; i++){
|
||||
if (null != activityStack2.get(i)){
|
||||
activityStack2.get(i).finish();
|
||||
}
|
||||
}
|
||||
activityStack2.clear();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前resumed的Activity(由ActivityLifecycleCallbacks调用)
|
||||
*/
|
||||
public static void setCurrentResumedActivity(Activity activity) {
|
||||
currentResumedActivity = activity;
|
||||
LogUtil.i("AppManager", "setCurrentResumedActivity -> "
|
||||
+ (activity == null ? "null" : activity.getClass().getSimpleName()));
|
||||
logActivityStackInternal("setCurrentResumedActivity");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前resumed的Activity(用于生命周期回调中比较)
|
||||
*/
|
||||
public static Activity getCurrentResumedActivity() {
|
||||
return currentResumedActivity;
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除当前resumed的Activity(当Activity销毁时调用)
|
||||
*/
|
||||
public static void clearCurrentResumedActivity(Activity activity) {
|
||||
if (currentResumedActivity == activity) {
|
||||
currentResumedActivity = null;
|
||||
LogUtil.i("AppManager", "clearCurrentResumedActivity -> set currentResumedActivity = null");
|
||||
logActivityStackInternal("clearCurrentResumedActivity");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查Activity是否有效(未finish且未destroy)
|
||||
*/
|
||||
private boolean isActivityValid(Activity activity) {
|
||||
if (activity == null) {
|
||||
return false;
|
||||
}
|
||||
if (activity.isFinishing()) {
|
||||
return false;
|
||||
}
|
||||
// isDestroyed()方法在API 17及以上才可用
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
if (activity.isDestroyed()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前Activity(优先返回resumed的Activity,否则返回堆栈中最后压入的)
|
||||
*/
|
||||
public Activity currentActivity(){
|
||||
// 优先返回当前resumed的Activity
|
||||
if (isActivityValid(currentResumedActivity)) {
|
||||
LogUtil.i("AppManager", "currentActivity -> use currentResumedActivity: "
|
||||
+ currentResumedActivity.getClass().getSimpleName());
|
||||
return currentResumedActivity;
|
||||
}
|
||||
LogUtil.i("AppManager", "currentActivity -> currentResumedActivity invalid or null, try activityStack");
|
||||
// 如果resumed的Activity不可用,则从堆栈中获取
|
||||
if(activityStack == null || activityStack.isEmpty()){
|
||||
LogUtil.i("AppManager", "currentActivity -> activityStack is null or empty");
|
||||
return null;
|
||||
}
|
||||
// 从堆栈末尾开始查找,找到第一个未销毁的Activity
|
||||
for (int i = activityStack.size() - 1; i >= 0; i--) {
|
||||
Activity activity = activityStack.get(i);
|
||||
if (isActivityValid(activity)) {
|
||||
LogUtil.i("AppManager", "currentActivity -> use stack[" + i + "]: "
|
||||
+ activity.getClass().getSimpleName());
|
||||
return activity;
|
||||
}
|
||||
}
|
||||
LogUtil.i("AppManager", "currentActivity -> no valid Activity found in stack");
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* 结束当前Activity(堆栈中最后压入的)
|
||||
*/
|
||||
public void finishActivity(){
|
||||
if(activityStack == null || activityStack.isEmpty()){
|
||||
return;
|
||||
}
|
||||
Activity activity=activityStack.lastElement();
|
||||
finishActivity(activity);
|
||||
}
|
||||
/**
|
||||
* 结束指定的Activity
|
||||
*/
|
||||
public void finishActivity(Activity activity){
|
||||
if(activity!=null&&activityStack!=null){
|
||||
activityStack.remove(activity);
|
||||
LogUtil.i("AppManager", "finishActivity -> "
|
||||
+ activity.getClass().getSimpleName()
|
||||
+ ", stackSize(afterRemove)=" + activityStack.size());
|
||||
activity.finish();
|
||||
activity=null;
|
||||
logActivityStackInternal("finishActivity");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 结束指定的Activity
|
||||
*/
|
||||
public void finishActivity2(Activity activity){
|
||||
if(activity!=null && activityStack2!=null){
|
||||
activityStack2.remove(activity);
|
||||
activity.finish();
|
||||
activity=null;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 结束指定类名的Activity
|
||||
*/
|
||||
public void finishActivity(Class<?> cls){
|
||||
if(activityStack == null || activityStack.isEmpty()){
|
||||
return;
|
||||
}
|
||||
for (Activity activity : activityStack) {
|
||||
if(activity.getClass().equals(cls) ){
|
||||
finishActivity(activity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 结束所有Activity
|
||||
*/
|
||||
public void finishAllActivity(){
|
||||
if(activityStack == null || activityStack.isEmpty()){
|
||||
LogUtil.i("AppManager", "finishAllActivity -> activityStack empty, kill process");
|
||||
android.os.Process.killProcess(android.os.Process.myPid());
|
||||
return;
|
||||
}
|
||||
for (int i = 0, size = activityStack.size(); i < size; i++){
|
||||
if (null != activityStack.get(i)){
|
||||
LogUtil.i("AppManager", "finishAllActivity -> finish "
|
||||
+ activityStack.get(i).getClass().getSimpleName());
|
||||
activityStack.get(i).finish();
|
||||
}
|
||||
}
|
||||
activityStack.clear();
|
||||
LogUtil.i("AppManager", "finishAllActivity -> stack cleared, size=" + activityStack.size());
|
||||
android.os.Process.killProcess(android.os.Process.myPid());
|
||||
}
|
||||
|
||||
/**
|
||||
* 打印当前 activityStack 和 currentResumedActivity 的详细信息,方便排查 currentActivity 为空的问题
|
||||
*/
|
||||
public static void logActivityStackInternal(String from) {
|
||||
if (activityStack == null || activityStack.isEmpty()) {
|
||||
LogUtil.i("AppManager", "[" + from + "] activityStack is empty, currentResumedActivity="
|
||||
+ (currentResumedActivity == null ? "null" : currentResumedActivity.getClass().getSimpleName()));
|
||||
return;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("[").append(from).append("] activityStack size=").append(activityStack.size());
|
||||
sb.append(", currentResumedActivity=")
|
||||
.append(currentResumedActivity == null ? "null" : currentResumedActivity.getClass().getSimpleName());
|
||||
sb.append(", stack=[");
|
||||
for (int i = 0; i < activityStack.size(); i++) {
|
||||
Activity a = activityStack.get(i);
|
||||
sb.append(i)
|
||||
.append(":")
|
||||
.append(a == null ? "null" : a.getClass().getSimpleName());
|
||||
if (i != activityStack.size() - 1) {
|
||||
sb.append(", ");
|
||||
}
|
||||
}
|
||||
sb.append("]");
|
||||
LogUtil.i("AppManager", sb.toString());
|
||||
}
|
||||
/**
|
||||
* 退出应用程序
|
||||
*/
|
||||
public void AppExit(Context context) {
|
||||
try {
|
||||
finishAllActivity();
|
||||
ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
|
||||
// activityMgr.restartPackage(context.getPackageName());
|
||||
activityMgr.killBackgroundProcesses(context.getPackageName());
|
||||
System.exit(0);
|
||||
android.os.Process.killProcess(android.os.Process.myPid());
|
||||
} catch (Exception e) { }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package cn.shangyu.gdxzExpert.bean;
|
||||
|
||||
public class UniappMpCheckWgt {
|
||||
private String code;
|
||||
private DataBean data;
|
||||
private String message;
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public DataBean getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData(DataBean data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public static class DataBean {
|
||||
|
||||
private String version_name;
|
||||
private Integer version_code;
|
||||
private String url;
|
||||
private String note;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DataBean{" +
|
||||
"version_name='" + version_name + '\'' +
|
||||
", version_code=" + version_code +
|
||||
", url='" + url + '\'' +
|
||||
", note='" + note + '\'' +
|
||||
'}';
|
||||
}
|
||||
|
||||
public String getVersion_name() {
|
||||
return version_name;
|
||||
}
|
||||
|
||||
public void setVersion_name(String version_name) {
|
||||
this.version_name = version_name;
|
||||
}
|
||||
|
||||
public Integer getVersion_code() {
|
||||
return version_code;
|
||||
}
|
||||
|
||||
public void setVersion_code(Integer version_code) {
|
||||
this.version_code = version_code;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public String getNote() {
|
||||
return note;
|
||||
}
|
||||
|
||||
public void setNote(String note) {
|
||||
this.note = note;
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-1
@@ -61,8 +61,10 @@ import cn.shangyu.gdxzExpert.umeng.PushCourseUrlDetailActivity;
|
||||
import cn.shangyu.gdxzExpert.umeng.PushNewsDetailActivity;
|
||||
import cn.shangyu.gdxzExpert.umeng.PushZhiBoActivity;
|
||||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
import me.majiajie.pagerbottomtabstrip.NavigationController;
|
||||
@@ -590,7 +592,10 @@ public class BigNewSystemMessageActivity extends BaseActivity implements OnCallB
|
||||
}
|
||||
else
|
||||
{
|
||||
intent.setClass(getContext(), PointsMallActivity.class);
|
||||
// intent.setClass(getContext(), PointsMallActivity.class);
|
||||
|
||||
UniappUtil.showUniMp(getContext(), "/pages_goods/pointMall/pointMall", null);
|
||||
break;
|
||||
}
|
||||
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
|
||||
@@ -112,8 +112,9 @@ public class CrashHandler implements Thread.UncaughtExceptionHandler {
|
||||
|
||||
private void restart(){
|
||||
Intent intent = new Intent(mContext, WelcomeUI.class);
|
||||
PendingIntent restartIntent = PendingIntent.getActivity(
|
||||
mContext.getApplicationContext(), 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
// Android 12+ 要求 PendingIntent 指定可变性,这里仅用于重启应用,不需要修改内容,使用 FLAG_IMMUTABLE
|
||||
PendingIntent restartIntent = PendingIntent.getActivity(
|
||||
mContext.getApplicationContext(), 0, intent, PendingIntent.FLAG_IMMUTABLE);
|
||||
//退出程序
|
||||
AlarmManager mgr = (AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE);
|
||||
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent); // 1秒钟后重启应用
|
||||
|
||||
@@ -279,7 +279,7 @@ public class DemoMessageReceiver extends PushMessageReceiver {
|
||||
notificationManager.createNotificationChannel(channel);
|
||||
Intent intent = new Intent(BaseApplication.getContext(), MainActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(BaseApplication.getContext(), 35,
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
Notification notification = new Notification.Builder(BaseApplication.getContext(), "随访消息")
|
||||
.setContentTitle(title)
|
||||
.setContentText(content)
|
||||
|
||||
@@ -20,6 +20,7 @@ import cn.shangyu.gdxzExpert.R;
|
||||
import cn.shangyu.gdxzExpert.activity.CoursewareActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MainActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyLibraryActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.PublicSearchActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.UpanExchangeActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.VideoActivity;
|
||||
import cn.shangyu.gdxzExpert.base.BaseFragment;
|
||||
@@ -37,6 +38,7 @@ import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
|
||||
@@ -198,8 +200,11 @@ public class GetWelfAreFragment extends BaseFragment implements View.OnClickList
|
||||
}
|
||||
else
|
||||
{
|
||||
startActivity(new Intent(getActivity(), PointsMallActivity.class));
|
||||
// startActivity(new Intent(getActivity(), PointsMallActivity.class));
|
||||
|
||||
UniappUtil.showUniMp(getActivity(), "/pages_goods/pointMall/pointMall", null);
|
||||
}
|
||||
|
||||
} else if (id == R.id.tv_splijilingqu) {
|
||||
if(BigModule())
|
||||
{
|
||||
@@ -207,7 +212,7 @@ public class GetWelfAreFragment extends BaseFragment implements View.OnClickList
|
||||
}
|
||||
else
|
||||
{
|
||||
MyUserIconUtil.showUniMp(getActivity(), "/pages_app/video/video", null);
|
||||
UniappUtil.showUniMp(getActivity(), "/pages_app/video/video", null);
|
||||
// startActivity(new Intent(getActivity(), VideoActivity.class));
|
||||
}
|
||||
} else if (id == R.id.tv_kjlijilingqu) {
|
||||
|
||||
@@ -147,6 +147,7 @@ import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.view.NormalItemView;
|
||||
import cn.shangyu.gdxzExpert.view.SpaceItemDecoration;
|
||||
@@ -1082,7 +1083,7 @@ public class HomeNewFragment extends BaseFragment implements OnClickListener,OnC
|
||||
// Intent intent2 = new Intent(mActivity, VideoActivity.class);
|
||||
// startActivity(intent2);
|
||||
|
||||
MyUserIconUtil.showUniMp(mainActivity, "/pages_app/video/video", null);
|
||||
UniappUtil.showUniMp(mainActivity, "/pages_app/video/video", null);
|
||||
} else if (id == R.id.more3) {
|
||||
if(navigationController.getSelected()==0)
|
||||
{
|
||||
@@ -1093,7 +1094,7 @@ public class HomeNewFragment extends BaseFragment implements OnClickListener,OnC
|
||||
{
|
||||
MobclickAgent.onEvent(mainActivity,EXPERT_HOME_COURSEWARE_MORE);
|
||||
// startActivity(new Intent(mActivity, CoursewareActivity.class));
|
||||
MyUserIconUtil.showUniMp(mainActivity, "/pages_app/ppt/ppt", null);
|
||||
UniappUtil.showUniMp(mainActivity, "/pages_app/ppt/ppt", null);
|
||||
}
|
||||
} else if (id == R.id.im_1) {
|
||||
initEzhanWeb(lists.get(huan).get(0).getUrl());
|
||||
|
||||
@@ -23,6 +23,7 @@ import cn.shangyu.gdxzExpert.base.BaseFragment;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.QualityCourseActivity;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
|
||||
/**
|
||||
@@ -100,13 +101,13 @@ public class KeepEducationFragment extends BaseFragment implements View.OnClickL
|
||||
} else if (id == R.id.rl_kejian) {//肝胆课件
|
||||
// MobclickAgent.onEvent(mActivity,EXPERT_TAB_EDUCATION_COURSEWARE);
|
||||
// startActivity(new Intent(mActivity, CoursewareActivity.class));
|
||||
MyUserIconUtil.showUniMp(mainActivity, "/pages_app/ppt/ppt", null);
|
||||
UniappUtil.showUniMp(mainActivity, "/pages_app/ppt/ppt", null);
|
||||
} else if (id == R.id.rl_casesuions) {//病例交流
|
||||
startActivity(new Intent(mActivity, CasediscussionActivity.class));
|
||||
} else if (id == R.id.rl_video) {//经典病例
|
||||
startActivity(new Intent(mActivity, MyCicleActivity.class));
|
||||
} else if (id == R.id.rl_lczhaomu) {//肝胆视频
|
||||
MyUserIconUtil.showUniMp(mainActivity, "/pages_app/video/video", null);
|
||||
UniappUtil.showUniMp(mainActivity, "/pages_app/video/video", null);
|
||||
// startActivity(new Intent(mActivity, VideoActivity.class));
|
||||
} else if (id == R.id.rl_office_work) {//精品课程
|
||||
startActivity( new Intent(mActivity, QualityCourseActivity.class));
|
||||
|
||||
@@ -51,9 +51,11 @@ import cn.shangyu.gdxzExpert.activity.MyCoursewareActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyDetailInfoActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyDownLoadsActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyFlowerActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyFuliCardActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyMindActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyQrCodeActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyWelfAreActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.NavigationActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.OutofPatientNoticeActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.PoMessageActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.SendMindActivity;
|
||||
@@ -72,10 +74,12 @@ import cn.shangyu.gdxzExpert.utils.Constant;
|
||||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.ImageOptions;
|
||||
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UpdateVersionUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.utils.ValidateUtils;
|
||||
@@ -343,7 +347,9 @@ public class MyFragment extends BaseFragment implements OnClickListener,OnCallBa
|
||||
//
|
||||
// break;
|
||||
} else if (id == R.id.my_qr_code) {// 我的二维码
|
||||
startActivity(new Intent(mActivity, MyQrCodeActivity.class));
|
||||
// startActivity(new Intent(mActivity, MyQrCodeActivity.class));
|
||||
|
||||
UniappUtil.showUniMp(mActivity, "/pages_app/myCode/myCode", null);
|
||||
} else if (id == R.id.rl_my_qr_sao) {// 扫一扫
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
|
||||
@@ -377,8 +383,10 @@ public class MyFragment extends BaseFragment implements OnClickListener,OnCallBa
|
||||
// startActivity(new Intent(mActivity, SendMindActivity.class));
|
||||
// startActivity(new Intent(mActivity, MyWorkTableActivity.class));
|
||||
// ToastUtil.showMessage("暂无优惠券");
|
||||
Intent intentpoints = new Intent(mActivity, AccumulatePointsActivity.class);
|
||||
startActivity(intentpoints);
|
||||
// Intent intentpoints = new Intent(mActivity, AccumulatePointsActivity.class);
|
||||
// startActivity(intentpoints);
|
||||
|
||||
UniappUtil.showUniMp(mActivity, "/pages_app/myPoint/myPoint", null);
|
||||
} else if (id == R.id.myminds) {// 我的心意
|
||||
startActivity(new Intent(mActivity, MyMindActivity.class));
|
||||
} else if (id == R.id.myfapiao) {
|
||||
@@ -389,7 +397,9 @@ public class MyFragment extends BaseFragment implements OnClickListener,OnCallBa
|
||||
} else if (id == R.id.my_courseware) {
|
||||
startActivity(new Intent(mActivity, MyCoursewareActivity.class));
|
||||
} else if (id == R.id.mywelfare) {//我的福利
|
||||
startActivity(new Intent(mActivity ,MyWelfAreActivity.class));
|
||||
// startActivity(new Intent(mActivity ,MyWelfAreActivity.class));
|
||||
|
||||
UniappUtil.showUniMp(mActivity, "/pages_app/myWelfare/myWelfare", null);
|
||||
} else if (id == R.id.tv_rongyu1) {//我的荣誉
|
||||
gethonorDetail(honorList.get(0).getId());
|
||||
} else if (id == R.id.tv_rongyu2) {
|
||||
|
||||
@@ -100,6 +100,7 @@ import cn.shangyu.gdxzExpert.utils.SharePrefUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UpdateVersionUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
@@ -605,7 +606,9 @@ public class MyNewFragment extends BaseFragment implements View.OnClickListener,
|
||||
} else if (id == R.id.tv_qiandao) {
|
||||
if(qiandao)
|
||||
{
|
||||
startActivity(new Intent(mActivity, PointsMallActivity.class));
|
||||
// startActivity(new Intent(mActivity, PointsMallActivity.class));
|
||||
|
||||
UniappUtil.showUniMp(mActivity, "/pages_goods/pointMall/pointMall", null);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -620,13 +623,16 @@ public class MyNewFragment extends BaseFragment implements View.OnClickListener,
|
||||
} else if (id == R.id.pic) {
|
||||
startActivity(new Intent(mActivity, MyDetailInfoActivity.class));
|
||||
} else if (id == R.id.r_banck) {
|
||||
startActivity(new Intent(mActivity, MyBankCardActivity.class));
|
||||
// startActivity(new Intent(mActivity, MyBankCardActivity.class));
|
||||
|
||||
UniappUtil.showUniMp(mActivity, "/pages_app/idcardAuth/bankCardList", null);
|
||||
} else if (id == R.id.r_fapiao) {
|
||||
startActivity(new Intent(mActivity, FaPiaoActivity.class));
|
||||
} else if (id == R.id.r_shezhi) {
|
||||
startActivity(new Intent(mActivity, SettingAndHelpActivity.class));
|
||||
} else if (id == R.id.r_filicard) {
|
||||
startActivity(new Intent(mActivity, MyFuliCardActivity.class));
|
||||
// startActivity(new Intent(mActivity, MyFuliCardActivity.class));
|
||||
UniappUtil.showUniMp(mActivity, "/pages_app/myWelfareCard/myWelfareCard", null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package cn.shangyu.gdxzExpert.netease.bagder;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
|
||||
import com.netease.nim.uikit.api.NimUIKit;
|
||||
@@ -29,6 +30,22 @@ public class Badger {
|
||||
SharePrefUtil.saveInt(UIUtils.getContext(),"unreadFollow",unreadFollow);
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除桌面角标:随访未读计数、ShortcutBadger 角标,并同步为 0。
|
||||
*/
|
||||
public static void clearAllBadges(Context context) {
|
||||
Context appContext = context != null ? context.getApplicationContext() : UIUtils.getContext();
|
||||
unreadFollow = 0;
|
||||
saveUnreadFollow();
|
||||
support = true;
|
||||
try {
|
||||
ShortcutBadger.removeCount(appContext);
|
||||
ShortcutBadger.applyCount(appContext, 0);
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
updateBadgerCount(0);
|
||||
}
|
||||
|
||||
public static void updateBadgerCount(final int unreadCount) {
|
||||
if (!support) {
|
||||
return; // O版本及以上不再支持
|
||||
|
||||
+19
-2
@@ -99,6 +99,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import cn.shangyu.gdxzExpert.R;
|
||||
import cn.shangyu.gdxzExpert.application.BaseApplication;
|
||||
import cn.shangyu.gdxzExpert.activity.EvaluateActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.PayClassActivity;
|
||||
import cn.shangyu.gdxzExpert.adapter.BaseFragemetAdapter;
|
||||
@@ -140,8 +141,12 @@ import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UpdateVersionUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.SnapUpCountDownTimerView;
|
||||
import io.dcloud.feature.sdk.Interface.IUniMP;
|
||||
|
||||
import static cn.shangyu.gdxzExpert.utils.Constant.uniapp_mp_appid;
|
||||
|
||||
public class CourseDetailPolyvPlayerActivity extends AppCompatActivity implements View.OnClickListener, IntroduceDetailFragment.ChooseListener {
|
||||
private static final String EXTRA_FROM_UNIMP_GO_COURSE_DETAIL = "from_unimp_go_course_detail";
|
||||
private FrameLayout head;
|
||||
/**
|
||||
* 视频控制栏
|
||||
@@ -246,6 +251,7 @@ public class CourseDetailPolyvPlayerActivity extends AppCompatActivity implement
|
||||
private PolyvViceScreenLayout viceScreenLayout;
|
||||
private boolean isCalledStopOnPipModeChanged = false;
|
||||
private boolean isOnBackKeyPressed;
|
||||
private boolean fromUniMpGoCourseDetail = false;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -257,6 +263,7 @@ public class CourseDetailPolyvPlayerActivity extends AppCompatActivity implement
|
||||
opencontents=getIntent().getStringExtra("opencontents");
|
||||
openid=getIntent().getStringExtra("openid");
|
||||
pinglun=getIntent().getStringExtra("pinglun");
|
||||
fromUniMpGoCourseDetail = getIntent().getBooleanExtra(EXTRA_FROM_UNIMP_GO_COURSE_DETAIL, false);
|
||||
initnormalview();
|
||||
initPolyview();
|
||||
initView();
|
||||
@@ -1477,8 +1484,8 @@ public class CourseDetailPolyvPlayerActivity extends AppCompatActivity implement
|
||||
needreportSome("share","","");
|
||||
break;
|
||||
case R.id.top_back:
|
||||
finish();
|
||||
break;
|
||||
handleBackAction();
|
||||
break;
|
||||
case R.id.r_buy:
|
||||
MobclickAgent.onEvent(CourseDetailPolyvPlayerActivity.this,EXPERT_CLASS_QUALITY_PAY);
|
||||
Intent intent=new Intent(CourseDetailPolyvPlayerActivity.this, PayClassActivity.class);
|
||||
@@ -1494,6 +1501,16 @@ public class CourseDetailPolyvPlayerActivity extends AppCompatActivity implement
|
||||
|
||||
}
|
||||
|
||||
private void handleBackAction() {
|
||||
if (fromUniMpGoCourseDetail) {
|
||||
IUniMP uniappMP = BaseApplication.getUniMPCaches().get(uniapp_mp_appid);
|
||||
if (uniappMP != null && uniappMP.isRunning()) {
|
||||
uniappMP.showUniMP();
|
||||
}
|
||||
}
|
||||
finish();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
|
||||
@@ -12,6 +12,7 @@ import cn.shangyu.gdxzExpert.base.BaseActivity;
|
||||
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
|
||||
/**
|
||||
@@ -82,7 +83,7 @@ public class MyDownLoadVideoActivity extends BaseActivity {
|
||||
break;
|
||||
case R.id.rl_3:
|
||||
//跳到uniapp 的视频缓存页面
|
||||
MyUserIconUtil.showUniMp(MyDownLoadVideoActivity.this, "/pages_app/downLoadVideo/downLoadVideo", null);
|
||||
UniappUtil.showUniMp(MyDownLoadVideoActivity.this, "/pages_app/downLoadVideo/downLoadVideo", null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,8 +31,10 @@ import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView;
|
||||
import cn.shangyu.gdxzExpert.ui.CustomProgressDialog;
|
||||
import cn.shangyu.gdxzExpert.utils.CommonUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.LogUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UIUtils;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.view.RollViewPager;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
@@ -202,8 +204,10 @@ public class QualityCourseActivity extends BaseActivity implements OnCallBackFro
|
||||
}
|
||||
else
|
||||
{
|
||||
Intent intent3 = new Intent(QualityCourseActivity.this, PointsMallActivity.class);
|
||||
startActivity(intent3);
|
||||
// Intent intent3 = new Intent(QualityCourseActivity.this, PointsMallActivity.class);
|
||||
// startActivity(intent3);
|
||||
|
||||
UniappUtil.showUniMp(QualityCourseActivity.this, "/pages_goods/pointMall/pointMall", null);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
+1
-1
@@ -1902,7 +1902,7 @@ public class PolyvPlayerMediaController extends PolyvBaseMediaController impleme
|
||||
videoActivity,
|
||||
requestCode,
|
||||
new Intent("media_control").putExtra("control_type", controlType),
|
||||
0);
|
||||
PendingIntent.FLAG_IMMUTABLE);
|
||||
final Icon icon = Icon.createWithResource(videoActivity, iconId);
|
||||
actions.add(new RemoteAction(icon, title, title, intent));
|
||||
|
||||
|
||||
+2
-1
@@ -66,7 +66,8 @@ public class PolyvBackgroundPlayService extends Service {
|
||||
|
||||
public Notification createNotification(String title, String text, int icon) {
|
||||
Intent intent = new Intent(this, CourseDetailPolyvPlayerActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(this, REQUEST_CODE_PLAY_ACTIVITY, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(this, REQUEST_CODE_PLAY_ACTIVITY, intent,
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID);
|
||||
builder.setContentIntent(pendingIntent);
|
||||
builder.setShowWhen(false);
|
||||
|
||||
@@ -42,10 +42,13 @@ 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.QualityCourseActivity;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.VideoDetailPolyvPlayerActivity;
|
||||
import cn.shangyu.gdxzExpert.splash.WelcomeUI;
|
||||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
|
||||
/**
|
||||
@@ -183,7 +186,9 @@ public class MfrMessageActivity extends UmengNotifyClickActivity {
|
||||
}
|
||||
else
|
||||
{
|
||||
intent3.setClass(getContext(), PointsMallActivity.class);
|
||||
// intent3.setClass(getContext(), PointsMallActivity.class);
|
||||
UniappUtil.showUniMp(getContext(), "/pages_goods/pointMall/pointMall", null);
|
||||
break;
|
||||
}
|
||||
|
||||
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
@@ -256,9 +261,11 @@ public class MfrMessageActivity extends UmengNotifyClickActivity {
|
||||
case"33"://阅读福利
|
||||
case"34"://观看福利
|
||||
case"36"://特别奖励
|
||||
intent3.setClass(getContext(), AccumulatePointsActivity.class);
|
||||
intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
getContext().startActivity(intent3);
|
||||
// intent3.setClass(getContext(), AccumulatePointsActivity.class);
|
||||
// intent3.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
// getContext().startActivity(intent3);
|
||||
|
||||
UniappUtil.showUniMp(getContext(), "/pages_app/myPoint/myPoint", null);
|
||||
finish();
|
||||
break;
|
||||
case"35"://福利卡
|
||||
|
||||
@@ -53,8 +53,10 @@ import cn.shangyu.gdxzExpert.pointsmall.PointsMallActivity;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.CourseDetailPolyvPlayerActivity;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.VideoDetailPolyvPlayerActivity;
|
||||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.ToastUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
import cn.shangyu.gdxzExpert.widget.LoadingPage;
|
||||
import me.majiajie.pagerbottomtabstrip.NavigationController;
|
||||
@@ -517,7 +519,10 @@ public class NewSystemMessageActivity extends BaseActivity implements OnCallBac
|
||||
}
|
||||
else
|
||||
{
|
||||
intent.setClass(getContext(), PointsMallActivity.class);
|
||||
// intent.setClass(getContext(), PointsMallActivity.class);
|
||||
|
||||
UniappUtil.showUniMp(getContext(), "/pages_goods/pointMall/pointMall", null);
|
||||
break;
|
||||
}
|
||||
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
@@ -599,9 +604,11 @@ public class NewSystemMessageActivity extends BaseActivity implements OnCallBac
|
||||
case"33"://阅读福利
|
||||
case"34"://观看福利
|
||||
case"36"://特别奖励
|
||||
intent.setClass(getContext(), AccumulatePointsActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
getContext().startActivity(intent);
|
||||
// intent.setClass(getContext(), AccumulatePointsActivity.class);
|
||||
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
// getContext().startActivity(intent);
|
||||
|
||||
UniappUtil.showUniMp(getContext(), "/pages_app/myPoint/myPoint", null);
|
||||
break;
|
||||
case"35"://福利卡
|
||||
intent.setClass(getContext(), MyFuliCardActivity.class);
|
||||
|
||||
@@ -46,7 +46,9 @@ import cn.shangyu.gdxzExpert.pointsmall.PointsMallActivity;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.CourseDetailPolyvPlayerActivity;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.VideoDetailPolyvPlayerActivity;
|
||||
import cn.shangyu.gdxzExpert.utils.GsonTools;
|
||||
import cn.shangyu.gdxzExpert.utils.MyUserIconUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.StringUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.UniappUtil;
|
||||
import cn.shangyu.gdxzExpert.utils.Url;
|
||||
|
||||
|
||||
@@ -83,6 +85,8 @@ public class PushHelper {
|
||||
//获取推送实例
|
||||
PushAgent pushAgent = PushAgent.getInstance(context);
|
||||
|
||||
pushAgent.setPackageListenerEnable(false);
|
||||
|
||||
pushAgent.setNotificationChannelName("系统通知");
|
||||
//TODO:需修改为您app/src/main/AndroidManifest.xml中package值
|
||||
pushAgent.setResourcePackageName("cn.shangyu.gdxzExpert");
|
||||
@@ -251,7 +255,10 @@ public class PushHelper {
|
||||
}
|
||||
else
|
||||
{
|
||||
intent.setClass(getContext(), PointsMallActivity.class);
|
||||
// intent.setClass(getContext(), PointsMallActivity.class);
|
||||
|
||||
UniappUtil.showUniMp(getContext(), "/pages_goods/pointMall/pointMall", null);
|
||||
break;
|
||||
}
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
getContext().startActivity(intent);
|
||||
@@ -320,9 +327,10 @@ public class PushHelper {
|
||||
case"33"://阅读福利
|
||||
case"34"://观看福利
|
||||
case"36"://特别奖励
|
||||
intent.setClass(getContext(), AccumulatePointsActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
getContext().startActivity(intent);
|
||||
// intent.setClass(getContext(), AccumulatePointsActivity.class);
|
||||
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
// getContext().startActivity(intent);
|
||||
UniappUtil.showUniMp(getContext(), "/pages_app/myPoint/myPoint", null);
|
||||
break;
|
||||
case"35"://福利卡
|
||||
intent.setClass(getContext(), MyFuliCardActivity.class);
|
||||
|
||||
@@ -298,6 +298,90 @@ public class HttpMD5SendInfoUtil {
|
||||
|
||||
}
|
||||
|
||||
public static void sendHttp(final String postUrl, Map<String, String> params, final OnCallBackFromNet callBack) {
|
||||
|
||||
HttpHelper.loadData(HttpMethod.GET, Url.getTimestamp,null, new RequestCallBack<String>() {
|
||||
|
||||
@Override
|
||||
public void onSuccess(ResponseInfo<String> info) {
|
||||
Map<String, String> param=new HashMap<>();
|
||||
if(params != null){
|
||||
param.putAll(params);
|
||||
}
|
||||
|
||||
String uuid = SharePrefUtil.getString(getContext(), Constant.uuid, "");
|
||||
if(StringUtil.isEmpty(uuid))
|
||||
{
|
||||
uuid= LogoutHelper.addUMTokenuuid;
|
||||
}
|
||||
param.put("user_uuid", uuid);
|
||||
TimestampBean bean = GsonTools.fromGsonToBean(info.result, TimestampBean.class);
|
||||
param.put("timestamp", bean.getTimestamp());
|
||||
param.put("client_type", "A");
|
||||
param.put("version", UpdateVersionUtils.getVersionName());
|
||||
new Thread() {
|
||||
public void run() {
|
||||
String encoding = "UTF-8";
|
||||
Gson gson = new Gson();
|
||||
String params = gson.toJson(param);
|
||||
byte[] data;
|
||||
try {
|
||||
String sign = SignUtil.getSign(param);
|
||||
LogUtil.i("params = "+params.toString());
|
||||
data = params.getBytes(encoding);
|
||||
URL url = new URL(postUrl);
|
||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestMethod("POST");
|
||||
conn.setDoOutput(true);
|
||||
conn.setRequestProperty("Content-Type","application/json");
|
||||
conn.setRequestProperty("sign",sign);
|
||||
conn.setRequestProperty("Content-Length",String.valueOf(data.length));
|
||||
conn.setConnectTimeout(5 * 1000);
|
||||
OutputStream outStream = conn.getOutputStream();
|
||||
outStream.write(data);
|
||||
outStream.flush();
|
||||
outStream.close();
|
||||
int ssss=conn.getResponseCode() ;
|
||||
if (ssss == 200) {
|
||||
InputStream inStream = conn.getInputStream();
|
||||
String result = new String(StreamTool.readInputStream(inStream), "UTF-8");
|
||||
String string = new String(result);
|
||||
LogUtil.i("result = "+result);
|
||||
JSONObject jsonObject = new JSONObject(string);
|
||||
String optString = jsonObject.optString("code");
|
||||
String message = jsonObject.optString("message");
|
||||
// Log.d("okhttp","result = "+result);
|
||||
Log.d("okhttp","getRealyWorldToken "+result);
|
||||
if ("200".equals(optString)) {
|
||||
LogUtil.e("请求成功");
|
||||
callBack.onCallbackFromThread(string);
|
||||
}
|
||||
else{
|
||||
callBack.onCallbackFromThread(string);
|
||||
}
|
||||
}else {
|
||||
LogUtil.e("Code = "+ssss);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LogUtil.e("提交失败,请重试 = "+e.getMessage());
|
||||
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
}
|
||||
}.start();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(HttpException arg0, String arg1) {
|
||||
// ToastUtil.showToast("请求失败,请重试");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static void sendJsonPostParamTokenMD5(Context context,final OnCallBackFromNet callBack){
|
||||
|
||||
|
||||
@@ -64,7 +64,8 @@ import io.dcloud.feature.unimp.config.UniMPOpenConfiguration;
|
||||
public class MyUserIconUtil {
|
||||
public static void myIntent(Context context,String name){
|
||||
if ("肝胆新闻".equals(name)||"肝胆时讯".equals(name)){
|
||||
context.startActivity(new Intent(context, GandanConsultActivity.class));
|
||||
// context.startActivity(new Intent(context, GandanConsultActivity.class));
|
||||
UniappUtil.showUniMp(context, "/pages_app/newsList/newsList", null);
|
||||
}else if ("名医名科".equals(name)){
|
||||
context.startActivity(new Intent(context, GanDanHospitalActivity.class));
|
||||
}else if ("药品助手".equals(name)){
|
||||
@@ -74,7 +75,7 @@ public class MyUserIconUtil {
|
||||
context.startActivity(intentwf);
|
||||
}else if ("肝胆课件".equals(name)){
|
||||
// context.startActivity(new Intent(context, CoursewareActivity.class));
|
||||
showUniMp(context, "/pages_app/ppt/ppt", null);
|
||||
UniappUtil.showUniMp(context, "/pages_app/ppt/ppt", null);
|
||||
}else if ("精品课程".equals(name)){
|
||||
context.startActivity(new Intent(context, QualityCourseActivity.class));
|
||||
}else if ("肝病学院".equals(name)){
|
||||
@@ -93,15 +94,18 @@ public class MyUserIconUtil {
|
||||
intent1.setType("download");
|
||||
context.startActivity(intent1);
|
||||
}else if ("我的福利".equals(name)){
|
||||
Intent intent1 = new Intent(context, MyWelfAreActivity.class);
|
||||
context.startActivity(intent1);
|
||||
// Intent intent1 = new Intent(context, MyWelfAreActivity.class);
|
||||
// context.startActivity(intent1);
|
||||
|
||||
UniappUtil.showUniMp(context, "/pages_app/myWelfare/myWelfare", null);
|
||||
}else if ("精品课".equals(name)){
|
||||
Intent intent1 = new Intent(context, CourseActivity.class);
|
||||
context.startActivity(intent1);
|
||||
}
|
||||
else if("积分商城".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, PointsMallActivity.class));
|
||||
// context.startActivity(new Intent(context, PointsMallActivity.class));
|
||||
UniappUtil.showUniMp(context, "/pages_goods/pointMall/pointMall", null);
|
||||
// context.startActivity(new Intent(context, ResearchActivity.class));
|
||||
}
|
||||
else if("我的患者".equals(name))
|
||||
@@ -112,7 +116,7 @@ public class MyUserIconUtil {
|
||||
{
|
||||
// context.startActivity(new Intent(context, VideoActivity.class));
|
||||
// 调用公共方法打开uniapp mp
|
||||
showUniMp(context, "/pages_app/video/video", null);
|
||||
UniappUtil.showUniMp(context, "/pages_app/video/video", null);
|
||||
}
|
||||
else if("公益咨询".equals(name))
|
||||
{
|
||||
@@ -122,7 +126,7 @@ public class MyUserIconUtil {
|
||||
{
|
||||
// context.startActivity(new Intent(context, MyLibraryActivity.class));
|
||||
// 调用公共方法打开uniapp mp
|
||||
showUniMp(context, "/pages_app/zhinan/zhinan", null);
|
||||
UniappUtil.showUniMp(context, "/pages_app/zhinan/zhinan", null);
|
||||
}
|
||||
else if ("专题e站".equals(name)){
|
||||
Intent intent1 = new Intent(context, NewsDetailActivity.class);
|
||||
@@ -143,23 +147,29 @@ public class MyUserIconUtil {
|
||||
else
|
||||
{
|
||||
context.startActivity(new Intent(context, NormNewPatientActivity.class));
|
||||
// UniappUtil.showUniMp(context, "/pages_app/myPatient/myPatient", null);
|
||||
}
|
||||
}
|
||||
else if("患者分组".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, GroupingActivity.class));
|
||||
|
||||
// UniappUtil.showUniMp(context, "/pages_app/patientGroup/patientGroup", null);
|
||||
}
|
||||
else if("群发消息".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, SendGroupMsgListActivity.class));
|
||||
// UniappUtil.showUniMp(context, "/pages_chat/groupMessage/groupMessage", null);
|
||||
}
|
||||
else if("随访二维码".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, MyQrCodeActivity.class));
|
||||
// context.startActivity(new Intent(context, MyQrCodeActivity.class));
|
||||
UniappUtil.showUniMp(context, "/pages_app/myCode/myCode", null);
|
||||
}
|
||||
else if("出诊计划".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, OutofPatientNoticeActivity.class));
|
||||
// context.startActivity(new Intent(context, OutofPatientNoticeActivity.class));
|
||||
UniappUtil.showUniMp(context, "/pages_chat/outPatient/outPatient", null);
|
||||
}
|
||||
else if("我的视频".equals(name))
|
||||
{
|
||||
@@ -180,19 +190,23 @@ public class MyUserIconUtil {
|
||||
}
|
||||
else if("我的账户".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, MyAccount2Activity.class));
|
||||
// context.startActivity(new Intent(context, MyAccount2Activity.class));
|
||||
UniappUtil.showUniMp(context, "/pages_app/myAccount/myAccount", null);
|
||||
}
|
||||
else if("我的积分".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, AccumulatePointsActivity.class));
|
||||
// context.startActivity(new Intent(context, AccumulatePointsActivity.class));
|
||||
UniappUtil.showUniMp(context, "/pages_app/myPoint/myPoint", null);
|
||||
}
|
||||
else if("我的鲜花".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, MyFlowerActivity.class));
|
||||
// context.startActivity(new Intent(context, MyFlowerActivity.class));
|
||||
UniappUtil.showUniMp(context, "/pages_app/myFlower/myFlower", null);
|
||||
}
|
||||
else if("课件明细".equals(name))
|
||||
{
|
||||
context.startActivity(new Intent(context, MyCoursewareActivity.class));
|
||||
// context.startActivity(new Intent(context, MyCoursewareActivity.class));
|
||||
UniappUtil.showUniMp(context, "/pages_app/myCourseware/myCourseware", null);
|
||||
}
|
||||
else if("课程明细".equals(name))
|
||||
{
|
||||
@@ -240,59 +254,6 @@ public class MyUserIconUtil {
|
||||
// context.startActivity(new Intent(context, PointsMallActivity.class));
|
||||
context.startActivity(new Intent(context, ResearchActivity.class));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 展示uniapp mp - 公共方法
|
||||
* @param context 上下文
|
||||
* @param targetPath
|
||||
*/
|
||||
public static void showUniMp(Context context, String targetPath, com.alibaba.fastjson.JSONObject pageParams) {
|
||||
try {
|
||||
String uuid = SharePrefUtil.getString(context, Constant.uuid, "");
|
||||
if(StringUtil.isEmpty(uuid)){
|
||||
return;
|
||||
}
|
||||
String access_token = SharePrefUtil.getString(context, "access_token", "");
|
||||
String QueryString = StringUtil.toQueryString(pageParams);
|
||||
JSONObject userInfo = new JSONObject();
|
||||
userInfo.put("uuid", SharePrefUtil.getString(context, Constant.uuid, ""));
|
||||
userInfo.put("realName", SharePrefUtil.getString(context, Constant.realName, ""));
|
||||
userInfo.put("mobile", SharePrefUtil.getString(context, "mobile", ""));
|
||||
userInfo.put("photo", SharePrefUtil.getString(context, Constant.photo, ""));
|
||||
|
||||
UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration();
|
||||
uniMPOpenConfiguration.splashClass = UniappSplashView.class;
|
||||
uniMPOpenConfiguration.extraData.put("darkmode", "light");
|
||||
uniMPOpenConfiguration.extraData.put("apiHost", url_path);
|
||||
uniMPOpenConfiguration.extraData.put("token", access_token);
|
||||
uniMPOpenConfiguration.extraData.put("userInfo", userInfo);
|
||||
|
||||
IUniMP uniapp_MP_cash = BaseApplication.getUniMPCaches().get(uniapp_mp_appid);
|
||||
if(uniapp_MP_cash != null && uniapp_MP_cash.isRunning()){
|
||||
uniapp_MP_cash.sendUniMPEvent("goPage", targetPath+QueryString);
|
||||
uniapp_MP_cash.showUniMP();
|
||||
}else{
|
||||
if(StringUtil.notEmpty(targetPath)){
|
||||
uniMPOpenConfiguration.extraData.put("targetPath", targetPath+QueryString);
|
||||
}
|
||||
IUniMP uniapp_MP = DCUniMPSDK.getInstance().openUniMP(mContext, uniapp_mp_appid, uniMPOpenConfiguration);
|
||||
BaseApplication.getUniMPCaches().put(uniapp_MP.getAppid(), uniapp_MP);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void closeUniMP(){
|
||||
IUniMP uniapp_MP = BaseApplication.getUniMPCaches().get(uniapp_mp_appid);
|
||||
if(uniapp_MP != null && uniapp_MP.isRunning()){
|
||||
uniapp_MP.closeUniMP();
|
||||
BaseApplication.getUniMPCaches().remove(uniapp_mp_appid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
package cn.shangyu.gdxzExpert.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Environment;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import okhttp3.Call;
|
||||
import okhttp3.Callback;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
|
||||
/**
|
||||
* uniapp 下载工具
|
||||
*/
|
||||
public class UniappDownloadUtil {
|
||||
|
||||
private static UniappDownloadUtil downloadUtil;
|
||||
private final OkHttpClient okHttpClient;
|
||||
private Context context;
|
||||
private String TAG = "下载页面";
|
||||
|
||||
public static UniappDownloadUtil get() {
|
||||
if (downloadUtil == null) {
|
||||
downloadUtil = new UniappDownloadUtil();
|
||||
}
|
||||
return downloadUtil;
|
||||
}
|
||||
|
||||
private UniappDownloadUtil() {
|
||||
okHttpClient = new OkHttpClient();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param url 下载连接
|
||||
* @param saveDir 储存下载文件的SDCard目录
|
||||
* @param listener 下载监听
|
||||
*/
|
||||
public void download(Context context, final String url, final String saveDir, final String fileName, final OnDownloadListener listener) {
|
||||
this.context= context;
|
||||
// 需要token的时候可以这样做
|
||||
// SharedPreferences sp=MyApp.getAppContext().getSharedPreferences("loginInfo", MODE_PRIVATE);
|
||||
// Request request = new Request.Builder().header("token",sp.getString("token" , "")).url(url).build();
|
||||
|
||||
Request request = new Request.Builder().url(url).build();
|
||||
|
||||
okHttpClient.newCall(request).enqueue(new Callback() {
|
||||
@Override
|
||||
public void onFailure(Call call, IOException e) {
|
||||
// 下载失败
|
||||
listener.onDownloadFailed();
|
||||
}
|
||||
@Override
|
||||
public void onResponse(Call call, Response response) throws IOException {
|
||||
InputStream is = null;
|
||||
byte[] buf = new byte[2048];
|
||||
int len = 0;
|
||||
FileOutputStream fos = null;
|
||||
// 储存下载文件的目录
|
||||
String savePath = isExistDir(saveDir);
|
||||
Log.w(TAG,"存储下载目录:"+savePath);
|
||||
try {
|
||||
is = response.body().byteStream();
|
||||
long total = response.body().contentLength();
|
||||
File file = new File(savePath, getNameFromUrl(fileName));
|
||||
Log.w(TAG,"最终路径:"+file);
|
||||
fos = new FileOutputStream(file);
|
||||
long sum = 0;
|
||||
while ((len = is.read(buf)) != -1) {
|
||||
fos.write(buf, 0, len);
|
||||
sum += len;
|
||||
int progress = (int) (sum * 1.0f / total * 100);
|
||||
// 下载中
|
||||
listener.onDownloading(progress);
|
||||
}
|
||||
fos.flush();
|
||||
// 下载完成
|
||||
listener.onDownloadSuccess(file);
|
||||
} catch (Exception e) {
|
||||
listener.onDownloadFailed();
|
||||
} finally {
|
||||
try {
|
||||
if (is != null)
|
||||
is.close();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
try {
|
||||
if (fos != null)
|
||||
fos.close();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param saveDir
|
||||
* @return
|
||||
* @throws IOException
|
||||
* 判断下载目录是否存在
|
||||
*/
|
||||
private String isExistDir(String saveDir) throws IOException {
|
||||
// saveDir 已经是完整路径(例如:/storage/emulated/0/Android/data/cn.shangyu.gdxzExpert/cache)
|
||||
// 直接使用该路径,确保目录存在
|
||||
File downloadFile = new File(saveDir);
|
||||
if (!downloadFile.exists()) {
|
||||
boolean created = downloadFile.mkdirs();
|
||||
if (!created && !downloadFile.exists()) {
|
||||
throw new IOException("无法创建下载目录: " + saveDir);
|
||||
}
|
||||
}
|
||||
String savePath = downloadFile.getAbsolutePath();
|
||||
Log.w(TAG,"下载目录:"+savePath);
|
||||
return savePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param url
|
||||
* @return
|
||||
* 传入文件名
|
||||
*/
|
||||
@NonNull
|
||||
public String getNameFromUrl(String url) {
|
||||
return url;
|
||||
}
|
||||
|
||||
public interface OnDownloadListener {
|
||||
/**
|
||||
* 下载成功
|
||||
*/
|
||||
void onDownloadSuccess(File file);
|
||||
|
||||
/**
|
||||
* @param progress
|
||||
* 下载进度
|
||||
*/
|
||||
void onDownloading(int progress);
|
||||
|
||||
/**
|
||||
* 下载失败
|
||||
*/
|
||||
void onDownloadFailed();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,331 @@
|
||||
package cn.shangyu.gdxzExpert.utils;
|
||||
|
||||
import static com.taobao.accs.ACCSManager.mContext;
|
||||
import static cn.shangyu.gdxzExpert.utils.Constant.token;
|
||||
import static cn.shangyu.gdxzExpert.utils.Constant.uniapp_mp_appid;
|
||||
import static cn.shangyu.gdxzExpert.utils.HttpMD5SendInfoUtil.sendJsonPostParamTokenMD5;
|
||||
import static cn.shangyu.gdxzExpert.utils.UIUtils.getContext;
|
||||
import static cn.shangyu.gdxzExpert.utils.Url.url_path;
|
||||
import static cn.shangyu.gdxzExpert.utils.Url.weurl;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import cn.shangyu.gdxzExpert.activity.BindWeChatActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.CaseDetailActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.CasediscussionActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.CourseActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.EditPhoneActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.GDLiveBroadcastActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.GanDanHospitalActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.GandanConsultActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.GroupingActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyAccount2Activity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyCicleActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyCoursewareActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyDownLoadsActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyFlowerActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyLibraryActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyPatientActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyQrCodeActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.MyScientificResearchActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.NewsDetailActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.OrderListActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.OutofPatientNoticeActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.PublicConsultationActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.ResearchActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.SendGroupMsgListActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.SendMindActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.SettingVersionActivity;
|
||||
import cn.shangyu.gdxzExpert.activity.TestingActivity;
|
||||
import cn.shangyu.gdxzExpert.application.BaseApplication;
|
||||
import cn.shangyu.gdxzExpert.bean.SimpleBean;
|
||||
import cn.shangyu.gdxzExpert.bean.UniappMpCheckWgt;
|
||||
import cn.shangyu.gdxzExpert.big.activity.BiggNewPatientActivity;
|
||||
import cn.shangyu.gdxzExpert.big.activity.NormNewPatientActivity;
|
||||
import cn.shangyu.gdxzExpert.http.OnCallBackFromNet;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.MyDownLoadVideoActivity;
|
||||
import cn.shangyu.gdxzExpert.polyvplayer.QualityCourseActivity;
|
||||
import cn.shangyu.gdxzExpert.splash.UniappSplashView;
|
||||
import cn.shangyu.gdxzExpert.view.CommonProgressDialog;
|
||||
import io.dcloud.feature.sdk.DCUniMPSDK;
|
||||
import io.dcloud.feature.sdk.Interface.IUniMP;
|
||||
import io.dcloud.feature.unimp.config.IUniMPReleaseCallBack;
|
||||
import io.dcloud.feature.unimp.config.UniMPOpenConfiguration;
|
||||
import io.dcloud.feature.unimp.config.UniMPReleaseConfiguration;
|
||||
|
||||
public class UniappUtil {
|
||||
|
||||
/**
|
||||
* 展示uniapp mp - 公共方法
|
||||
* @param context 上下文
|
||||
* @param targetPath
|
||||
*/
|
||||
public static void showUniMp(Context context, String targetPath, com.alibaba.fastjson.JSONObject pageParams) {
|
||||
try {
|
||||
|
||||
checkWgt(context, targetPath, pageParams);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
//打开小程序
|
||||
public static void show(Context context, String targetPath, com.alibaba.fastjson.JSONObject pageParams) {
|
||||
try {
|
||||
// 确保在主线程中执行,避免在后台线程中创建 Handler 导致异常
|
||||
if (Looper.myLooper() == Looper.getMainLooper()) {
|
||||
// 已经在主线程,直接执行
|
||||
showInternal(context, targetPath, pageParams);
|
||||
} else {
|
||||
// 不在主线程,切换到主线程执行
|
||||
Handler mainHandler = new Handler(Looper.getMainLooper());
|
||||
mainHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
showInternal(context, targetPath, pageParams);
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void showInternal(Context context, String targetPath, com.alibaba.fastjson.JSONObject pageParams) {
|
||||
try {
|
||||
String uuid = SharePrefUtil.getString(context, Constant.uuid, "");
|
||||
if(StringUtil.isEmpty(uuid)){
|
||||
return;
|
||||
}
|
||||
String access_token = SharePrefUtil.getString(context, "access_token", "");
|
||||
String QueryString = StringUtil.toQueryString(pageParams);
|
||||
JSONObject userInfo = new JSONObject();
|
||||
userInfo.put("uuid", SharePrefUtil.getString(context, Constant.uuid, ""));
|
||||
userInfo.put("realName", SharePrefUtil.getString(context, Constant.realName, ""));
|
||||
userInfo.put("mobile", SharePrefUtil.getString(context, "mobile", ""));
|
||||
userInfo.put("photo", SharePrefUtil.getString(context, Constant.photo, ""));
|
||||
userInfo.put("qrcode", SharePrefUtil.getString(context, "qrcode", ""));
|
||||
userInfo.put("hospitalUuid", SharePrefUtil.getString(context, "hospitalUuid", ""));
|
||||
userInfo.put("hospitalName", SharePrefUtil.getString(context, "hospitalName", ""));
|
||||
userInfo.put("officeUuid", SharePrefUtil.getString(context, "officeUuid", ""));
|
||||
userInfo.put("officeName", SharePrefUtil.getString(context, "officeName", ""));
|
||||
userInfo.put("officePhone", SharePrefUtil.getString(context, "officePhone", ""));
|
||||
userInfo.put("positionUuid", SharePrefUtil.getString(context, "positionUuid", ""));
|
||||
userInfo.put("positionName", SharePrefUtil.getString(context, "positionName", ""));
|
||||
|
||||
try {
|
||||
userInfo.put("isStar", SharePrefUtil.getString(context, "isStar", ""));
|
||||
}catch (Exception e){
|
||||
userInfo.put("isStar", SharePrefUtil.getInt(context, "isStar", 0));
|
||||
}
|
||||
|
||||
String app_version = UpdateVersionUtils.getVersionName();
|
||||
UniMPOpenConfiguration uniMPOpenConfiguration = new UniMPOpenConfiguration();
|
||||
uniMPOpenConfiguration.splashClass = UniappSplashView.class;
|
||||
uniMPOpenConfiguration.extraData.put("darkmode", "light");
|
||||
uniMPOpenConfiguration.extraData.put("apiHost", url_path);
|
||||
uniMPOpenConfiguration.extraData.put("token", access_token);
|
||||
uniMPOpenConfiguration.extraData.put("app_version", app_version);
|
||||
uniMPOpenConfiguration.extraData.put("userInfo", userInfo);
|
||||
|
||||
IUniMP uniapp_MP_cash = BaseApplication.getUniMPCaches().get(uniapp_mp_appid);
|
||||
|
||||
Log.d("UniappUtil","uniapp_MP_cash="+uniapp_MP_cash);
|
||||
if(uniapp_MP_cash != null){
|
||||
Log.d("UniappUtil","uniapp_MP_cash.isRunning()="+uniapp_MP_cash.isRunning());
|
||||
}
|
||||
//存在但是不在运行
|
||||
if(uniapp_MP_cash != null && !uniapp_MP_cash.isRunning()){
|
||||
BaseApplication.getUniMPCaches().remove(uniapp_mp_appid);
|
||||
uniapp_MP_cash.closeUniMP();
|
||||
}
|
||||
|
||||
if(uniapp_MP_cash != null && uniapp_MP_cash.isRunning()){
|
||||
uniapp_MP_cash.sendUniMPEvent("goPage", targetPath+QueryString);
|
||||
uniapp_MP_cash.showUniMP();
|
||||
}else{
|
||||
if(StringUtil.notEmpty(targetPath)){
|
||||
uniMPOpenConfiguration.extraData.put("targetPath", targetPath+QueryString);
|
||||
}
|
||||
// 优先使用传入的context(如果是Activity),否则使用mContext
|
||||
Context openContext = context;
|
||||
if (!(openContext instanceof android.app.Activity)) {
|
||||
// 如果传入的不是Activity,尝试从AppManager获取当前Activity
|
||||
android.app.Activity currentActivity = cn.shangyu.gdxzExpert.base.AppManager.getAppManager().currentActivity();
|
||||
if (currentActivity != null) {
|
||||
openContext = currentActivity;
|
||||
} else {
|
||||
// 如果还是获取不到,使用mContext作为fallback
|
||||
openContext = mContext;
|
||||
}
|
||||
}
|
||||
IUniMP uniapp_MP = DCUniMPSDK.getInstance().openUniMP(openContext, uniapp_mp_appid, uniMPOpenConfiguration);
|
||||
BaseApplication.getUniMPCaches().put(uniapp_MP.getAppid(), uniapp_MP);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void closeUniMP(){
|
||||
IUniMP uniapp_MP = BaseApplication.getUniMPCaches().get(uniapp_mp_appid);
|
||||
if(uniapp_MP != null && uniapp_MP.isRunning()){
|
||||
uniapp_MP.closeUniMP();
|
||||
BaseApplication.getUniMPCaches().remove(uniapp_mp_appid);
|
||||
}
|
||||
}
|
||||
|
||||
private static void checkWgt(Context context, String targetPath, com.alibaba.fastjson.JSONObject pageParams) throws JSONException {
|
||||
|
||||
JSONObject jsonObject = DCUniMPSDK.getInstance().getAppVersionInfo(uniapp_mp_appid);
|
||||
if(jsonObject != null) {
|
||||
Integer current_version_code = Integer.parseInt(jsonObject.getString("code"));
|
||||
Log.d("checkWgt",current_version_code+",当前版本");
|
||||
HttpMD5SendInfoUtil.sendHttp(Url.checkUniappWgt, null, new OnCallBackFromNet() {
|
||||
@Override
|
||||
public void onCallbackFromThread(String resultJson) {
|
||||
Log.d("checkWgt",resultJson);
|
||||
UniappMpCheckWgt checkWgt = GsonTools.fromGsonToBean(resultJson,UniappMpCheckWgt.class);
|
||||
if(checkWgt.getData() != null){
|
||||
Log.d("checkWgt", checkWgt.getData().toString());
|
||||
Integer new_version_code = checkWgt.getData().getVersion_code();
|
||||
if(new_version_code != null && new_version_code > current_version_code){
|
||||
Log.d("checkWgt", "去更新");
|
||||
updateWgt(context, uniapp_mp_appid, checkWgt.getData().getUrl(), targetPath, pageParams);
|
||||
}else{
|
||||
Log.d("checkWgt", "直接打开");
|
||||
//真正打开小程序
|
||||
show(context, targetPath, pageParams);
|
||||
}
|
||||
}else{
|
||||
//真正打开小程序
|
||||
show(context, targetPath, pageParams);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onCallBackFromThread(String resultJson, int resultCode) {
|
||||
|
||||
}
|
||||
});
|
||||
}else{
|
||||
//真正打开小程序
|
||||
show(context, targetPath, pageParams);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 热更新uniapp小程序
|
||||
*/
|
||||
private static void updateWgt(Context context, String uniapp_appid, String wgtUrl, String targetPath, com.alibaba.fastjson.JSONObject pageParams) {
|
||||
// 替换真实的下载地址
|
||||
final String wgtName = uniapp_appid + ".wgt";
|
||||
String downFilePath = context.getExternalCacheDir().getPath();
|
||||
// 确保使用主线程的 Looper 创建 Handler,避免在子线程中直接 new Handler() 导致异常
|
||||
Handler uiHandler = new Handler(Looper.getMainLooper());
|
||||
// 使用 final 数组来存储对话框引用,以便在内部类中访问
|
||||
final CommonProgressDialog[] progressDialogRef = new CommonProgressDialog[1];
|
||||
|
||||
// 在主线程中创建和显示进度对话框
|
||||
uiHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
CommonProgressDialog progressDialog = new CommonProgressDialog(context);
|
||||
progressDialog.setMessage("更新中");
|
||||
progressDialog.setMax(100);
|
||||
progressDialog.setProgress(0);
|
||||
progressDialog.setCancelable(false);
|
||||
progressDialog.show();
|
||||
progressDialogRef[0] = progressDialog;
|
||||
}
|
||||
});
|
||||
|
||||
UniappDownloadUtil.get().download(context, wgtUrl, downFilePath, wgtName, new UniappDownloadUtil.OnDownloadListener() {
|
||||
@Override
|
||||
public void onDownloadSuccess(File file) {
|
||||
UniMPReleaseConfiguration uniMPReleaseConfiguration = new UniMPReleaseConfiguration();
|
||||
uniMPReleaseConfiguration.wgtPath = file.getPath();
|
||||
// 没有密码可以不写
|
||||
// uniMPReleaseConfiguration.password = "789456123";
|
||||
uiHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// 关闭进度对话框
|
||||
if (progressDialogRef[0] != null && progressDialogRef[0].isShowing()) {
|
||||
progressDialogRef[0].dismiss();
|
||||
}
|
||||
DCUniMPSDK.getInstance().releaseWgtToRunPath(uniapp_appid, uniMPReleaseConfiguration, new IUniMPReleaseCallBack() {
|
||||
@Override
|
||||
public void onCallBack(int code, Object pArgs) {
|
||||
if(code ==1) {
|
||||
//释放wgt完成
|
||||
try {
|
||||
IUniMP uniMP = BaseApplication.getUniMPCaches().get(uniapp_appid);
|
||||
if(uniMP != null && uniMP.isRunning()){
|
||||
uniMP.closeUniMP();
|
||||
}
|
||||
|
||||
//打开小程序
|
||||
show(context, targetPath, pageParams);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else{
|
||||
//释放wgt失败
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDownloading(int progress) {
|
||||
// Log.i("checkWgt", progress+"");
|
||||
final int finalProgress = progress;
|
||||
uiHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// 更新进度对话框
|
||||
if (progressDialogRef[0] != null && progressDialogRef[0].isShowing()) {
|
||||
progressDialogRef[0].setProgress(finalProgress);
|
||||
progressDialogRef[0].setMessage("更新中,请稍后");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDownloadFailed() {
|
||||
Log.e("unimp", "downFilePath === onDownloadFailed");
|
||||
uiHandler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// 关闭进度对话框
|
||||
if (progressDialogRef[0] != null && progressDialogRef[0].isShowing()) {
|
||||
progressDialogRef[0].dismiss();
|
||||
}
|
||||
// 显示失败提示
|
||||
ToastUtil.showToast("小程序更新失败,请稍后重试");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -722,5 +722,6 @@ public static String getInteractionListByTag = urlmyLan
|
||||
public static String checkUser=urlmyLan+"checkUser";//检查账户
|
||||
|
||||
|
||||
public static String checkUniappWgt = urlmyLan + "checkUniappWgt";//检查小程序版本
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user