JPushMgr.java 2.31 KB
package com.polysoft.nafmii.jpush;

import com.polysoft.nafmii.database.ObjectBox;
import com.polysoft.nafmii.database.entity.DataEntity;
import com.polysoft.nafmii.utils.CtxUtils;

import cn.jpush.android.api.JPushInterface;
import cn.jpush.android.data.JPushLocalNotification;

public class JPushMgr {

    public static final String JPUSH_ALIAS_KEY = "JPUSH_ALIAS";

    // 是否停止推送
    public static boolean isPushStopped() {
        return JPushInterface.isPushStopped(CtxUtils.getApplication());
    }

    // 是否可以在通知栏上展示
    public static boolean isNotification() {
        return JPushInterface.isNotificationEnabled(CtxUtils.getApplication()) == 1;
    }

    // 发送本地通知栏信息
    public static void snedLoaclNotice(JPushLocalNotification ln) {
        if (isNotification()) {
            JPushInterface.addLocalNotification(CtxUtils.getApplication(), ln);
        }
    }

    public static void sendLearnLocalNotice(String title, String content, String json) {
        JPushLocalNotification ln = new JPushLocalNotification();
        ln.setBuilderId(0);
        ln.setContent(content);
        ln.setTitle(title);
        long id = System.currentTimeMillis() / 1000;
        ln.setNotificationId(id);
        ln.setBroadcastTime(System.currentTimeMillis());
        ln.setExtras(json);
        snedLoaclNotice(ln);
    }

    // 获取注册到极光的id
    public static String getRegistrationID() {
        return JPushInterface.getRegistrationID(CtxUtils.getApplication());
    }

    public static void setAlias(String alias) {
        String millis = String.valueOf(System.currentTimeMillis());
        String val = millis.substring(millis.length() - 5, millis.length());
        int code = Integer.parseInt(val);
        JPushInterface.setAlias(CtxUtils.getApplication(), code, alias);
    }

    public static String getAlias() {
        DataEntity data = ObjectBox.findByName(JPUSH_ALIAS_KEY);
        if (null != data) {
            return data.getValue();
        }
        return "";
    }

    public static void deleteAlias() {
        String millis = String.valueOf(System.currentTimeMillis());
        String val = millis.substring(millis.length() - 5, millis.length());
        int code = 0 - Integer.parseInt(val);
        JPushInterface.deleteAlias(CtxUtils.getApplication(), code);
    }
}