uniapp点击通知android,uniapp 下 原生检测 通知栏,Android、iOS都支持

博客给出代码实现Uniapp下原生检测通知栏权限。针对安卓和iOS系统分别处理,安卓通过相关类判断通知权限,未开启则提示用户打开;iOS也有对应判断逻辑,若未开启同样提示用户打开权限,以确保APP能正常推送消息。

直接上代码,不多说了

// 原生检测export default {/** * 检测通知栏 */checkNotification:function(){if(plus.os.name.toLowerCase() == 'ios'){this.checkIosNotification();}else{this.checkAndroidNotification();}},checkAndroidNotification:function(){var main = plus.android.runtimeMainActivity(); var pkName = main.getPackageName(); var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat"); var packageNames = NotificationManagerCompat.from(main);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); } } }); } },checkIosNotification:function(){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); } } }); } },}

原创文章,作者:Eric chan,如若转载,请注明出处:https://www.kuke365.com/2019/06/18/uniapp-%e4%b8%8b-%e5%8e%9f%e7%94%9f%e6%a3%80%e6%b5%8b-%e9%80%9a%e7%9f%a5%e6%a0%8f%ef%bc%8candroid%e3%80%81ios%e9%83%bd%e6%94%af%e6%8c%81/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值