9***@qq.com
9***@qq.com
  • 发布:2019-01-20 18:10
  • 更新:2024-09-20 08:48
  • 阅读:17310

h5+安卓判断通知权限,打开通知权限

分类:uni-app

以下是uniapp代码
1、安卓代码

var main = plus.android.runtimeMainActivity();  
var pkName = main.getPackageName();  
var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");  
var packageNames = NotificationManagerCompat.from(main);  
console.log(JSON.stringify(packageNames));  
if (packageNames.areNotificationsEnabled()) {  
    console.log('已开启通知权限');  
}else{  
    uni.showModal({  
        title: '提示',  
        content: '请先打开APP通知权限',  
        showCancel: false,  
        success: function (res) {  
            if (res.confirm) {  
                var Intent = plus.android.importClass('android.content.Intent');  
                var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');//可设置表中所有Action字段  
                intent.putExtra('android.provider.extra.APP_PACKAGE', pkName);  
                main.startActivity(intent);  
            }  
        }  
    });  
}

2、苹果代码

var UIApplication = plus.ios.import("UIApplication");  
var app = UIApplication.sharedApplication();  
var enabledTypes  = 0;  
if (app.currentUserNotificationSettings) {  
    var settings = app.currentUserNotificationSettings();  
    enabledTypes = settings.plusGetAttribute("types");  
} else {  
    //针对低版本ios系统  
    enabledTypes = app.enabledRemoteNotificationTypes();  
}  
plus.ios.deleteObject(app);  
if ( 0 == enabledTypes ) {  
    uni.showModal({  
        title: '提示',  
        content: '请先打开APP通知权限',  
        showCancel: false,  
        success: function (res) {  
            if (res.confirm) {  
                var UIApplication = plus.ios.import("UIApplication");  
                var NSURL = plus.ios.import("NSURL");  
                var setting = NSURL.URLWithString("app-settings:");  
                var application = UIApplication.sharedApplication();  
                application.openURL(setting);  
                plus.ios.deleteObject(setting);  
                plus.ios.deleteObject(application);  
            }  
        }  
    });  
}  
9 关注 分享
SimpleJalon mengxinxuexi chenguokai 1***@qq.com 3***@qq.com 3***@qq.com 3***@qq.com 粉末的沉淀 六七四十二

要回复文章请先登录注册

l***@qq.com

l***@qq.com

回复 l***@qq.com :
以加解决了
2019-03-13 17:04
l***@qq.com

l***@qq.com

Uncaught ReferenceError: uni is not defined
报这个错,5+的应该怎么写?
2019-03-13 15:43
6***@qq.com

6***@qq.com

回复 9***@qq.com :
不管用啊,无法跳转到开启通知的那个界面
2019-03-11 15:04
9***@qq.com

9***@qq.com (作者)

回复 6***@qq.com :
上面代码就是h5+的
2019-03-11 09:55
6***@qq.com

6***@qq.com

h5+的呢?mui怎么用。。。
2019-03-09 21:03
9***@qq.com

9***@qq.com (作者)

这个是苹果的通知权限判断:http://ask.dcloud.net.cn/question/4497
2019-01-20 18:26