开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 951|回复: 1
收起左侧

[问答] 怎么判断app是否开启了通知权限?

[复制链接]
发表于 2021-10-9 15:38:29 | 显示全部楼层 |阅读模式   广东省揭阳市
怎么获取到手机设置里面的通知开关权限
发表于 2021-10-9 17:34:34 | 显示全部楼层   广东省揭阳市
安卓

  1. var main = plus.android.runtimeMainActivity();  
  2. var pkName = main.getPackageName();  
  3. var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");  
  4. var packageNames = NotificationManagerCompat.from(main);  
  5. console.log(JSON.stringify(packageNames));  
  6. if (packageNames.areNotificationsEnabled()) {  
  7.     console.log('已开启通知权限');  
  8. }else{  
  9.     uni.showModal({  
  10.         title: '提示',  
  11.         content: '请先打开APP通知权限',  
  12.         showCancel: false,  
  13.         success: function (res) {  
  14.             if (res.confirm) {  
  15.                 var Intent = plus.android.importClass('android.content.Intent');  
  16.                 var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');//可设置表中所有Action字段  
  17.                 intent.putExtra('android.provider.extra.APP_PACKAGE', pkName);  
  18.                 main.startActivity(intent);  
  19.             }  
  20.         }  
  21.     });  
  22. }
复制代码


ios

  1. var UIApplication = plus.ios.import("UIApplication");  
  2. var app = UIApplication.sharedApplication();  
  3. var enabledTypes  = 0;  
  4. if (app.currentUserNotificationSettings) {  
  5.     var settings = app.currentUserNotificationSettings();  
  6.     enabledTypes = settings.plusGetAttribute("types");  
  7. } else {  
  8.     //针对低版本ios系统  
  9.     enabledTypes = app.enabledRemoteNotificationTypes();  
  10. }  
  11. plus.ios.deleteObject(app);  
  12. if ( 0 == enabledTypes ) {  
  13.     uni.showModal({  
  14.         title: '提示',  
  15.         content: '请先打开APP通知权限',  
  16.         showCancel: false,  
  17.         success: function (res) {  
  18.             if (res.confirm) {  
  19.                 var UIApplication = plus.ios.import("UIApplication");  
  20.                 var NSURL = plus.ios.import("NSURL");  
  21.                 var setting = NSURL.URLWithString("app-settings:");  
  22.                 var application = UIApplication.sharedApplication();  
  23.                 application.openURL(setting);  
  24.                 plus.ios.deleteObject(setting);  
  25.                 plus.ios.deleteObject(application);  
  26.             }  
  27.         }  
  28.     });  
  29. }  
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表