前端获取用户权限

// 原生检测
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);  
					}  
				}  
			});  
		}  
	},
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值