android實現(xiàn)系統(tǒng)信息推送
本文實例為大家分享了android實現(xiàn)系統(tǒng)信息推送的具體代碼,供大家參考,具體內(nèi)容如下
1、判斷是否是啟動App,而非刷新界面執(zhí)行該方法
if (!window.name) { ? ? window.name = 'test'; ? ? InfoPush(data.data.length) }
2、系統(tǒng)信息推送主要代碼,設(shè)置所要顯示的內(nèi)容、圖標(biāo)等信息,在華為手機上測試有效,其它手機并不清楚效果如何
//系統(tǒng)信息推送 function InfoPush(len) { ?? ?if (plus.os.name == 'Android') { ?? ??? ?//當(dāng)前版本號 ? ?? ??? ?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); ?//點擊后轉(zhuǎn)跳?? ??? ??? ? ?? ??? ??? ?mNotification.setAutoCancel(true)//點擊后刪除 ?? ??? ??? ? ?? ??? ??? ?var mNb = mNotification.build() ? ?? ??? ??? ?nm.notify(NotifyID, mNb); ? ?? ??? ?} ? ?? ?} }
3、比較按照手機的版本大小,通過plus.android.importClass(name)方法導(dǎo)入相關(guān)的類對象,并無太大的作用
/** ? ?* 比較兩個版本大小 ? ?* 比較版本大小,如果新版本nowVersion大于舊版本OldResourceVersion則返回true,否則返回false ? ?*/ ? function compareVersion(OldVersion, nowVersion) { ? ?? ?if (!OldVersion || !nowVersion || OldVersion == '' || nowVersion == '') { ? ? ?? ??? ?return false; ? ?? ?} ? ?? ?//第二份參數(shù) 是 數(shù)組的最大長度 ? ?? ?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; ? ?? ?} ? }; ?
效果圖:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android UI設(shè)計系列之自定義SwitchButton開關(guān)實現(xiàn)類似IOS中UISwitch的動畫效果(2
這篇文章主要介紹了Android UI設(shè)計系列之自定義SwitchButton開關(guān)實現(xiàn)類似IOS中UISwitch的動畫效果,具有一定的實用性和參考價值,感興趣的小伙伴們可以參考一下2016-06-06android dialog背景模糊化效果實現(xiàn)方法
這篇文章主要為大家詳細介紹了android dialog背景模糊化效果的實現(xiàn)方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04詳解Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實現(xiàn)
這篇文章主要介紹了Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實現(xiàn),文中分為發(fā)送文字、二進制內(nèi)容和圖片三種情況來講,需要的朋友可以參考下2016-04-04Flutter app頁面路由以及路由攔截的實現(xiàn)
本篇介紹了介紹了Flutter如何使用路由來實現(xiàn)頁面的跳轉(zhuǎn),從而簡化頁面之間的耦合,并可以實現(xiàn)路由攔截。2021-06-06