admin
2022-01-20 d8ef9a783b9e0b2a495f02fdf3daaf27ef49e99d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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;
    }
 
}