av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

uniapp獲取手機(jī)通知權(quán)限實(shí)現(xiàn)demo

瀏覽:4日期:2022-06-13 14:20:47
目錄獲取通知權(quán)限跳轉(zhuǎn)開啟設(shè)置彈窗通知Tips:獲取通知權(quán)限跳轉(zhuǎn)開啟

之前發(fā)了一篇使用插件市場(chǎng)獲取權(quán)限的文章,但是有兄弟想要一個(gè)單獨(dú)開啟通知權(quán)限的教程,這篇文章特意整理一下獲取通知權(quán)限跳轉(zhuǎn)開啟的方法

設(shè)置彈窗通知

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

//首先我們需要一個(gè)觸發(fā),我是在進(jìn)入頁(yè)面onReady()生命周期中觸發(fā)的檢測(cè)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 就是通知權(quán)限沒有開啟 this.tongzhi = true; //這里是我寫的一個(gè)彈窗上面有一個(gè)跳轉(zhuǎn)開啟的按鈕,自行添加即可} } 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升級(jí)為androidx if (NotificationManagerCompat == null) {NotificationManagerCompat = plus.android.importClass( 'androidx.core.app.NotificationManagerCompat'); } var areNotificationsEnabled =NotificationManagerCompat.from(main).areNotificationsEnabled(); // 未開通‘允許通知'權(quán)限,則彈窗提醒開通,并點(diǎn)擊確認(rèn)后,跳轉(zhuǎn)到系統(tǒng)設(shè)置頁(yè)面進(jìn)行設(shè)置 if (!areNotificationsEnabled) {this.tongzhi = true; //這里也一樣未開啟權(quán)限,彈出彈窗 }} },

上面是根據(jù)手機(jī)操作系統(tǒng)來(lái)檢測(cè)系統(tǒng)是否開啟通知權(quán)限,下面代碼是在檢測(cè)沒有開啟通知權(quán)限后彈窗提示,然后點(diǎn)擊彈窗按鈕后到設(shè)置對(duì)應(yīng)權(quán)限的頁(yè)面跳轉(zhuǎn)方法

Tips:

安卓手機(jī)由于系統(tǒng)新老版本不一樣,開啟權(quán)限的位置可能有所不同,需要根據(jù)實(shí)際情況來(lái)進(jìn)行修改,ios由于權(quán)限問題有可能會(huì)跳轉(zhuǎn)失敗,需要手動(dòng)開啟

//開啟通知 openTongZhi() { //彈窗按鈕綁定方法let platform = uni.getSystemInfoSync().platform; //獲取安卓還是iosthis.tongzhi = false;if (platform == 'ios') {//如果機(jī)型是ios,ios由于權(quán)限問題,可能需要手動(dòng)開啟 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') {//如果機(jī)型是安卓 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引導(dǎo) if (Build.VERSION.SDK_INT >= 26) { //判斷安卓系統(tǒng)版本var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');intent.putExtra('android.provider.extra.APP_PACKAGE', pkName); } else if (Build.VERSION.SDK_INT >= 21) { //判斷安卓系統(tǒng)版本//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)其他--跳轉(zhuǎn)到該應(yīng)用管理的詳情頁(yè)intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);var uri = Uri.fromParts( 'package', mainActivity.getPackageName(), null);intent.setData(uri); } // 跳轉(zhuǎn)到該應(yīng)用的系統(tǒng)通知設(shè)置頁(yè) main.startActivity(intent);} },

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

標(biāo)簽: JavaScript
主站蜘蛛池模板: 91在线一区二区 | 午夜美女福利 | 日韩精品一区在线 | 亚洲国产成人av | 日本不卡视频在线观看 | 在线成人免费视频 | 日韩一区二区在线观看视频 | 啪啪小视频| 色黄大色黄女片免费中国 | 日韩专区在线观看 | 狠狠操影院 | 国产美女免费 | 毛片视频免费观看 | 精品热久久 | 精品久久久久久久久久久久久久久久 | 亚洲成人中文字幕 | 国产精品久久久久久99 | 欧美深夜福利 | 久久免费视频观看 | av大片在线观看 | 日本在线免费观看 | 丁香花在线观看 | 国产免费黄色片 | 亚洲永久免费视频 | jlzzzjlzzz国产免费观看 | 91青青草 | 九九在线观看高清免费 | 成人av网站在线观看 | 99亚洲精品 | 亚洲国产中文字幕 | 天天干夜夜爽 | 国产高清视频 | 亚洲狠狠干| 草逼com | 黄色大片免费在线观看 | 国产香蕉av| 欧美高清在线 | av在线播放不卡 | 2021国产精品 | www.狠狠操.com| 亚洲黄色一级 |