本文实例为大家分享了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)方法导入相关的类对象,并无太大的作用
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;
}
};
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。