993768343@qq.com
993768343@qq.com
  • 发布:2019-01-20 18:10
  • 更新:2 天前
  • 阅读:526

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);  
            }  
        }  
    });  
}  
0 关注 分享

要回复文章请先登录注册

673011635@qq.com

673011635@qq.com

回复 legolas1989@qq.com: 怎么解决的?
2 天前
394402133@qq.com

394402133@qq.com

安卓低版本packageNames.areNotificationsEnabled() 不管开启关闭都是true
2019-03-15 17:24
legolas1989@qq.com

legolas1989@qq.com

回复 legolas1989@qq.com: 已经解决了
2019-03-13 17:04
legolas1989@qq.com

legolas1989@qq.com

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

legolas1989@qq.com

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

673011635@qq.com

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

993768343@qq.com (作者)

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

673011635@qq.com

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

993768343@qq.com (作者)

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