uniapp获取手机通知权限实现demo
作者:小李不小
这篇文章主要为大家介绍了uniapp获取手机通知权限实现demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
获取通知权限跳转开启
之前发了一篇使用插件市场获取权限的文章,但是有兄弟想要一个单独开启通知权限的教程,这篇文章特意整理一下获取通知权限跳转开启的方法
设置弹窗通知
首先我是设置了一个弹窗通知,具体样式就不在这里写了,可以自行写一个,我在这里就写一下具体获取以及跳转的代码
//首先我们需要一个触发,我是在进入页面onReady()生命周期中触发的检测
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();
// 未开通‘允许通知'权限,则弹窗提醒开通,并点击确认后,跳转到系统设置页面进行设置
if (!areNotificationsEnabled) {
this.tongzhi = true; //这里也一样未开启权限,弹出弹窗
上面是根据手机操作系统来检测系统是否开启通知权限,下面代码是在检测没有开启通知权限后弹窗提示,然后点击弹窗按钮后到设置对应权限的页面跳转方法
Tips:
安卓手机由于系统新老版本不一样,开启权限的位置可能有所不同,需要根据实际情况来进行修改,ios由于权限问题有可能会跳转失败,需要手动开启