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