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<String> 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<String> 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;
|
}
|
|
}
|