时间:2022-08-29 09:35:58 | 栏目:Android代码 | 点击:次
本文实例为大家分享了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; } };
效果图: