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

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 粉末的沉淀 六七四十二

要回复文章请先登录注册

6***@qq.com

6***@qq.com

回复 6***@qq.com :
加入判断安卓版本
2019-07-21 20:51
6***@qq.com

6***@qq.com

回复 6***@qq.com :
我也遇到这个问题,请问该如何解决?
2019-07-21 19:42
6***@qq.com

6***@qq.com

回复 6***@qq.com :
安卓版本低的不兼容,看来要找个兼容的方案了
2019-07-16 13:52
6***@qq.com

6***@qq.com

不管用啊。。。提示无法找到应用
2019-07-16 13:34
2***@qq.com

2***@qq.com

为什么我hb打包没有效果啊,真机调试就可以啊
2019-07-03 18:13
g***@163.com

g***@163.com

Uncaught ReferenceError: plus is not defined ,这个要怎么解决呀?
2019-05-22 10:17
g***@163.com

g***@163.com

回复 l***@qq.com :
请问你是怎么解决的,我的也报错Uncaught ReferenceError: plus is not defined
2019-05-22 10:16
6***@qq.com

6***@qq.com

回复 l***@qq.com :
怎么解决的?
2019-03-21 14:17
3***@qq.com

3***@qq.com

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

l***@qq.com

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