package com.demo.app.utils; import android.app.Activity; import android.content.Context; import android.content.Intent; import com.alibaba.fastjson.JSONObject; import com.demo.app.entity.common.JumpDetail; import com.demo.library_ec.AlibcTradeUtil; import com.demo.lib.common.util.common.StringUtils; import java.util.Iterator; public class JumpActivityUtil { public static void jumpActivity(Context mContext, JumpDetail jumpDetail, JSONObject params) { Intent intent = null; org.json.JSONObject object = null; try { intent = new Intent(mContext, Class.forName(JumpActivityUtil.filterActivityName(jumpDetail.getActivity()))); if (params != null) object = new org.json.JSONObject(params); } catch (ClassNotFoundException e) { e.printStackTrace(); } if (object != null) { @SuppressWarnings("unchecked") Iterator its = object.keys(); while (its.hasNext()) { String key = its.next(); String value = object.optString(key); intent.putExtra(key, value); } } mContext.startActivity(intent); } /** * 跳转 * * @param context * @param detail * @param params */ public static void jumpPage(final Activity context, JumpDetail detail, JSONObject params) { if (context == null) return; if (detail == null) return; String type = detail.getType(); switch (type) { case "baichuan": if (params == null) return; String url = params.getString("url"); if (StringUtils.isEmpty(url)) return; //跳转百川 AlibcTradeUtil.openUrl(context, url, null, null, null, null); break; default: { try { Intent intent = new Intent(context, Class.forName(JumpActivityUtil.filterActivityName(detail.getActivity()))); if (params != null) for (Iterator keys = params.keySet().iterator(); keys.hasNext(); ) { String key = keys.next(); intent.putExtra(key, params.getString(key)); } context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } } break; } } public static String filterActivityName(String activity) { return activity; } }