色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

uniapp獲取手機通知權限實現demo

瀏覽:4日期:2022-06-13 14:20:47
目錄獲取通知權限跳轉開啟設置彈窗通知Tips:獲取通知權限跳轉開啟

之前發了一篇使用插件市場獲取權限的文章,但是有兄弟想要一個單獨開啟通知權限的教程,這篇文章特意整理一下獲取通知權限跳轉開啟的方法

設置彈窗通知

首先我是設置了一個彈窗通知,具體樣式就不在這里寫了,可以自行寫一個,我在這里就寫一下具體獲取以及跳轉的代碼

//首先我們需要一個觸發,我是在進入頁面onReady()生命周期中觸發的檢測getQuanxian() {let platform = uni.getSystemInfoSync().platform; //首先判斷app是安卓還是iosconsole.log(platform);if (platform == 'ios') { //這里是ios的方法 console.log('我是iOS'); var UIApplication = plus.ios.import('UIApplication'); var app = UIApplication.sharedApplication(); var enabledTypes = 0; if (app.currentUserNotificationSettings) {var settings = app.currentUserNotificationSettings();enabledTypes = settings.plusGetAttribute('types');console.log('enabledTypes1:' + enabledTypes);if (enabledTypes == 0) { //如果enabledTypes = 0 就是通知權限沒有開啟 this.tongzhi = true; //這里是我寫的一個彈窗上面有一個跳轉開啟的按鈕,自行添加即可} } plus.ios.deleteObject(settings);} else if (platform == 'android') { //下面是安卓的方法 console.log('我是安卓', plus.android); var main = plus.android.runtimeMainActivity(); var pkName = main.getPackageName(); var uid = main.getApplicationInfo().plusGetAttribute('uid'); var NotificationManagerCompat = plus.android.importClass('android.support.v4.app.NotificationManagerCompat' ); //android.support.v4升級為androidx if (NotificationManagerCompat == null) {NotificationManagerCompat = plus.android.importClass( 'androidx.core.app.NotificationManagerCompat'); } var areNotificationsEnabled =NotificationManagerCompat.from(main).areNotificationsEnabled(); // 未開通‘允許通知'權限,則彈窗提醒開通,并點擊確認后,跳轉到系統設置頁面進行設置 if (!areNotificationsEnabled) {this.tongzhi = true; //這里也一樣未開啟權限,彈出彈窗 }} },

上面是根據手機操作系統來檢測系統是否開啟通知權限,下面代碼是在檢測沒有開啟通知權限后彈窗提示,然后點擊彈窗按鈕后到設置對應權限的頁面跳轉方法

Tips:

安卓手機由于系統新老版本不一樣,開啟權限的位置可能有所不同,需要根據實際情況來進行修改,ios由于權限問題有可能會跳轉失敗,需要手動開啟

//開啟通知 openTongZhi() { //彈窗按鈕綁定方法let platform = uni.getSystemInfoSync().platform; //獲取安卓還是iosthis.tongzhi = false;if (platform == 'ios') {//如果機型是ios,ios由于權限問題,可能需要手動開啟 var UIApplication = plus.ios.import('UIApplication'); var app = UIApplication.sharedApplication(); var settings = app.currentUserNotificationSettings(); enabledTypes = settings.plusGetAttribute('types'); var NSURL2 = plus.ios.import('NSURL'); var setting2 = NSURL2.URLWithString('app-settings:'); var application2 = UIApplication.sharedApplication(); application2.openURL(setting2); plus.ios.deleteObject(setting2); plus.ios.deleteObject(NSURL2); plus.ios.deleteObject(application2); plus.ios.deleteObject(settings);} else if (platform == 'android') {//如果機型是安卓 var main = plus.android.runtimeMainActivity(); var pkName = main.getPackageName(); var uid = main.getApplicationInfo().plusGetAttribute('uid'); var Intent = plus.android.importClass('android.content.Intent'); var Build = plus.android.importClass('android.os.Build'); //android 8.0引導 if (Build.VERSION.SDK_INT >= 26) { //判斷安卓系統版本var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');intent.putExtra('android.provider.extra.APP_PACKAGE', pkName); } else if (Build.VERSION.SDK_INT >= 21) { //判斷安卓系統版本//android 5.0-7.0var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');intent.putExtra('app_package', pkName);intent.putExtra('app_uid', uid); } else {//(<21)其他--跳轉到該應用管理的詳情頁intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);var uri = Uri.fromParts( 'package', mainActivity.getPackageName(), null);intent.setData(uri); } // 跳轉到該應用的系統通知設置頁 main.startActivity(intent);} },

以上就是在uniapp中開啟通知權限的方法了,如果有需要,大家可自行挪用,如有寫的不清楚的地方還請指出,更多關于uniapp獲取手機通知權限的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
主站蜘蛛池模板: 在线日本看片免费人成视久网 | 97超在线 | 日韩欧美理论 | 在线免费观看精品 | 国产一区欧美 | 免费a级毛片视频 | 深夜福利视频在线观看免费播放 | 综合视频在线 | 美女拍拍拍爽爽爽爽爽爽 | 国产精品久久久久影视不卡 | 看美国毛片 | 亚洲男人第一天堂 | 日韩精品视频美在线精品视频 | 亚洲一区二区三区免费视频 | 乱子伦一级在线现看 | 岛国片欧美一级毛片 | 久久国产视频网 | 99视频福利 | 亚洲高清国产一区二区三区 | 欧美一级纶理片免费 | 美女网站色免费 | 成人高清无遮挡免费视频软件 | 成人久久久久 | 女人张开双腿让男人 | 欧美日韩亚洲高清不卡一区二区三区 | 步兵社区| 台湾三级香港三级在线理论 | 久久国产美女免费观看精品 | 欧美精品hdvdeosex4k | 超91精品手机国产在线 | 亚洲性欧美 | 亚洲 自拍 另类 欧美 综合 | 免费一级成人免费观看 | 免费一级欧美片在线观看 | 美女很黄很黄是免费的·无遮挡网站 | aaaaaa毛片免费看 | 明星国产欧美日韩在线观看 | 色女生影院 | 亚洲成人黄色在线观看 | 精品国产亚洲一区二区在线3d | 爽爽窝窝午夜精品一区二区 |