android实现系统信息推送

来自:网络
时间:2022-08-07
阅读:

本文实例为大家分享了android实现系统信息推送的具体代码,供大家参考,具体内容如下

1、判断是否是启动App,而非刷新界面执行该方法

if (!window.name) {
    window.name = 'test';
    InfoPush(data.data.length)
}

2、系统信息推送主要代码,设置所要显示的内容、图标等信息,在华为手机上测试有效,其它手机并不清楚效果如何

//系统信息推送
function InfoPush(len) {
    if (plus.os.name == 'Android') {
        //当前版本号  
        var SystemVersion = plus.os.version;  
        var Context = plus.android.importClass("android.content.Context");  
        var main = plus.android.runtimeMainActivity();  
        var NotificationManager = plus.android.importClass("android.app.NotificationManager");  
        var nm = main.getSystemService(Context.NOTIFICATION_SERVICE)  
        // Notification build 要android api16以上才能使用(4.1.2以上)  
        var Notification = null;
        if (compareVersion('4.1.1', SystemVersion) == true) {  
            Notification = plus.android.importClass("android.app.Notification");  
        } else {  
            Notification = plus.android.importClass("android.support.v4.app.NotificationCompat");  
        }  
        if (Notification) {  
            var NotifyID = 1;  
            var mNotification = new Notification.Builder(main);  
            var Intent = plus.android.importClass("android.content.Intent");  
            var PendingIntent = plus.android.importClass("android.app.PendingIntent");  
            var intent = new Intent(main, main.getClass());
            var pendingIntent = PendingIntent.getActivity(main, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);  
            var r = plus.android.importClass("android.R");  
 
            // mNotification.setOngoing(true);  //是否固定
            mNotification.setContentTitle("ZZApp")  
            mNotification.setContentText("你有" + len + "新信息")  
            mNotification.setSmallIcon(r.drawable.ic_notification_overlay)  
            mNotification.setTicker("ZZApp")  
 
            mNotification.setContentIntent(pendingIntent);  //点击后转跳            
            mNotification.setAutoCancel(true)//点击后删除
            
            var mNb = mNotification.build()  
            nm.notify(NotifyID, mNb);  
        }  
    }
}

3、比较按照手机的版本大小,通过plus.android.importClass(name)方法导入相关的类对象,并无太大的作用

/**  
 * 比较两个版本大小  
 * 比较版本大小,如果新版本nowVersion大于旧版本OldResourceVersion则返回true,否则返回false  
 */  
function compareVersion(OldVersion, nowVersion) {  
    if (!OldVersion || !nowVersion || OldVersion == '' || nowVersion == '') {  
 
        return false;  
    }  
    //第二份参数 是 数组的最大长度  
    var OldVersionA = OldVersion.split(".", 4);  
    var nowVersionA = nowVersion.split(".", 4);  
    for (var i = 0; i < OldVersionA.length && i < nowVersionA.length; i++) {  
        var strOld = OldVersionA[i];  
        var numOld = parseInt(strOld);  
        var strNow = nowVersionA[i];  
        var numNow = parseInt(strNow);  
        //小版本到高版本  
        if (numNow > numOld  
            //||strNow.length>strOld.length  
        ) {  
            return true;  
        } else if (numNow < numOld) {  
            return false;  
        }  
    }  
    //如果是版本  如 1.6 - 1.6.1  
    if (nowVersionA.length > OldVersionA.length && 0 == nowVersion.indexOf(OldVersion)) {  
        return true;  
    }  
};  

效果图:

android实现系统信息推送

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

返回顶部
顶部