最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

uniapp獲取手機通知權限實現(xiàn)demo

 更新時間:2023年07月10日 10:41:06   作者:小李不小  
這篇文章主要為大家介紹了uniapp獲取手機通知權限實現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

獲取通知權限跳轉開啟

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

設置彈窗通知

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

//首先我們需要一個觸發(fā),我是在進入頁面onReady()生命周期中觸發(fā)的檢測
getQuanxian() {
                let platform = uni.getSystemInfoSync().platform; //首先判斷app是安卓還是ios
                console.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();
                    // 未開通‘允許通知'權限,則彈窗提醒開通,并點擊確認后,跳轉到系統(tǒng)設置頁面進行設置
                    if (!areNotificationsEnabled) {
                        this.tongzhi = true; //這里也一樣未開啟權限,彈出彈窗
                    }
                }
            },

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

Tips:

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

            //開啟通知
            openTongZhi() { //彈窗按鈕綁定方法
                let platform = uni.getSystemInfoSync().platform; //獲取安卓還是ios
                this.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) { //判斷安卓系統(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.0
                        var 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);
                    }
                    // 跳轉到該應用的系統(tǒng)通知設置頁
                    main.startActivity(intent);
                }
            },

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

相關文章

  • JS鼠標3次點擊事件實現(xiàn)代碼及擴展思路

    JS鼠標3次點擊事件實現(xiàn)代碼及擴展思路

    這篇文章主要介紹了JS鼠標3次點擊事件實現(xiàn)及擴展思路,需要的朋友可以參考下
    2017-09-09
  • 一篇文章帶你吃透JavaScript中的DOM知識及用法

    一篇文章帶你吃透JavaScript中的DOM知識及用法

    DOM作用:用來修改網(wǎng)頁內容,結構和樣式,下面這篇文章主要給大家介紹了關于如何通過一篇文章帶你吃透JavaScript中的DOM知識及用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 使用js實現(xiàn)一個簡單的滾動條過程解析

    使用js實現(xiàn)一個簡單的滾動條過程解析

    這篇文章主要介紹了使用js實現(xiàn)一個簡單的滾動條過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • 教你javascript如何獲取指針的位置

    教你javascript如何獲取指針的位置

    這篇文章主要介紹了javascript獲取指針的位置的方法,通過代碼介紹了如何調用上面擴展函數(shù) getMP() 捕獲當前鼠標指針在文檔中的位置,需要的朋友可以參考下
    2021-10-10
  • JavaScript實現(xiàn)與使用發(fā)布/訂閱模式詳解

    JavaScript實現(xiàn)與使用發(fā)布/訂閱模式詳解

    這篇文章主要介紹了JavaScript實現(xiàn)與使用發(fā)布/訂閱模式,較為詳細的分析了發(fā)布/訂閱模式的概念、原理并結合實例形式分析了javascript實現(xiàn)與使用發(fā)布/訂閱模式的相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • 一文分享10個被低估的JavaScript?Web?API

    一文分享10個被低估的JavaScript?Web?API

    這篇文章主要來和大家分享10個被低估的JavaScript?Web?API,其中一些可能是你的日常工具,但我敢肯定至少有幾個會讓你驚呼等等等,瀏覽器竟然有這功能
    2026-03-03
  • 基于bootstrap-datetimepicker.js不支持IE8的快速解決方法

    基于bootstrap-datetimepicker.js不支持IE8的快速解決方法

    下面小編就為大家?guī)硪黄赽ootstrap-datetimepicker.js不支持IE8的快速解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 用JavaScript實現(xiàn)使用鼠標畫線的示例代碼

    用JavaScript實現(xiàn)使用鼠標畫線的示例代碼

    用JavaScript實現(xiàn)用鼠標畫線,具體步驟是首先是畫點,在根據(jù)兩點坐標畫直線,最后是獲取鼠標位置,需要的朋友可以參考下
    2014-08-08
  • JavaScript大數(shù)ID精度丟失問題的解決方案

    JavaScript大數(shù)ID精度丟失問題的解決方案

    在前后端分離的Web應用開發(fā)中,經(jīng)常會遇到一個令人頭疼的問題:JavaScript數(shù)字精度丟失,當后端使用Long類型生成的大數(shù)ID傳遞到前端時,會出現(xiàn)精度丟失,所以本文給大家介紹了JavaScript大數(shù)ID精度丟失問題解決方案,需要的朋友可以參考下
    2025-09-09
  • 微信小程序scroll-view實現(xiàn)字幕滾動

    微信小程序scroll-view實現(xiàn)字幕滾動

    這篇文章主要為大家詳細介紹了微信小程序scroll-view實現(xiàn)字幕滾動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評論

高邑县| 建宁县| 梁平县| 二连浩特市| 方正县| 武川县| 定襄县| 普洱| 化州市| 喀喇| 汾西县| 澜沧| 祥云县| 乌拉特后旗| 双辽市| 康平县| 家居| 紫阳县| 固安县| 开阳县| 大冶市| 乌拉特前旗| 河西区| 北碚区| 宝山区| 比如县| 西林县| 高邑县| 巴南区| 双桥区| 乳源| 新安县| 漳浦县| 皋兰县| 庆城县| 长宁区| 云龙县| 合山市| 唐山市| 通山县| 始兴县|