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
package com.tejia.lijin.app.receiver;
 
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
 
import com.alibaba.fastjson.JSON;
import com.tejia.lijin.app.ShoppingApi;
import com.tejia.lijin.app.ShoppingApplication;
import com.tejia.lijin.app.util.user.UserUtil;
import com.vivo.push.model.UPSNotificationMessage;
import com.vivo.push.sdk.OpenClientPushMessageReceiver;
import com.tejia.lijin.app.ui.SplashActivity;
import com.tejia.lijin.app.util.ToolUtil;
import com.yeshi.push.entity.PushRomType;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * vivo推送 Receiver
 */
public class VIVOPushMessageReceiver extends OpenClientPushMessageReceiver {
    private Map<String, String> mParams = new HashMap();
 
//    @Override
//    public void onNotificationMessageClicked(Context context, UPSNotificationMessage upsNotificationMessage) {
//        mParams = upsNotificationMessage.getParams();
//        String json = JSON.toJSONString(mParams);
//        if (!isAppRunning(context, context.getPackageName())) {//不是当前app进程
//            ToolUtil.VIVOPushInfo = json;
//            Intent intent = new Intent(context, SplashActivity.class);
//            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//            context.startActivity(intent);
//        } else {
//            ToolUtil.startActivity(context, null, json);
//        }
//    }
 
    @Override
    public void onReceiveRegId(Context context, String s) {
        ShoppingApi.bindPushToken(context, UserUtil.getUid(context), PushRomType.vivo, s, null);
    }
 
    private boolean isAppRunning(Context context, String packageName) {
//        Log.i("mResult", "isAppRunning()");
        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(100);
        boolean isAppRunning = false;
        //100表示取的最大的任务数,info.topActivity表示当前正在运行的Activity,info.baseActivity表系统后台有此进程在运行
        for (ActivityManager.RunningTaskInfo info : list) {
            if (info.topActivity.getPackageName().equals(packageName) || info.baseActivity.getPackageName().equals(packageName)) {
                isAppRunning = true;
//                Log.i("ActivityService isRun()", info.topActivity.getPackageName() + " info.baseActivity.getPackageName()=" + info.baseActivity.getPackageName());
                break;
            }
        }
//        Log.i("ActivityService isRun()", "com.ad 程序  ...isAppRunning......" + isAppRunning);
        return isAppRunning;
    }
}