admin
2021-07-06 abce02c7a61820f5d580f87364d542e817be429c
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package com.tejia.lijin.app.ui;
 
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
 
import com.alibaba.fastjson.JSONObject;
import com.tejia.lijin.app.entity.JumpDetail;
import com.tejia.lijin.app.ui.main.MainActivity;
import com.tejia.lijin.app.util.JumpActivityUtil;
import com.tejia.lijin.app.util.downutil.StringUtils;
 
 
public class PushOpenClickActivity extends BaseActivity {
 
 
    public static PushData pushData = null;
 
    private static final String TAG = "OpenClickActivity";
    private TextView mTextView;
 
 
    private static void jump(Activity context, String type, String activity, String params) {
        pushData = null;
        Log.i(TAG, String.format("%s:%s:%s", type, activity, params));
        JumpDetail jumpDetail = new JumpDetail();
        jumpDetail.setActivity(activity);
        jumpDetail.setType(type);
        JSONObject paramsJson = null;
        if (!StringUtils.isNullOrEmpty(params))
            paramsJson = JSONObject.parseObject(params);
        JumpActivityUtil.jumpPage(context, jumpDetail, paramsJson);
    }
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mTextView = new TextView(this);
        setContentView(mTextView);
        String activity = getIntent().getStringExtra("activity");
        String params = getIntent().getStringExtra("params");
        String type = getIntent().getStringExtra("type");
        StringBuilder builder = new StringBuilder();
        builder.append("activity:" + activity);
        builder.append("\n");
        builder.append("params:" + params);
        mTextView.setText(builder.toString());
        if (!isAppRunning(getApplicationContext(), getPackageName())) {
            //暂存数据
            pushData = new PushData(type, activity, params);
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
            finish();
        } else {
            jump(this, type, activity, params);
            finish();
        }
    }
 
 
    private boolean isAppRunning(Context context, String packageName) {
        ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        ActivityManager.RunningTaskInfo info = manager.getRunningTasks(1).get(0);
        Log.i(TAG, "numActivities:" + info.numActivities);
        Log.i(TAG, "numRunning:" + info.numRunning);
 
        if (info.numActivities < 2)
            return false;
        else
            return true;
    }
 
    public static void resumeJumpActivity(Activity context) {
        if (pushData != null) {
            jump(context, pushData.type, pushData.getActivity(), pushData.getParams());
        }
 
    }
 
    class PushData {
        private String activity;
        private String params;
        //activity,baichuan
        private String type;
 
        public PushData(String type, String activity, String params) {
            this.activity = activity;
            this.params = params;
            this.type = type;
        }
 
        public String getActivity() {
            return activity;
        }
 
        public void setActivity(String activity) {
            this.activity = activity;
        }
 
        public String getParams() {
            return params;
        }
 
        public void setParams(String params) {
            this.params = params;
        }
 
        public String getType() {
            return type;
        }
 
        public void setType(String type) {
            this.type = type;
        }
    }
 
 
}