uniapp-h5+获取通知栏权限
需求:控制消息栏的消息打开和关闭
控制消息栏的消息打开和关闭就需要获取手机系统,还有手机通知栏的打开情况
第一步我们先获取手机的系统,根据系统然后获取通知栏打开的状态
if (plus.os.name == 'Android') {//判断是否是安卓系统var main = plus.android.runtimeMainActivity();var pkName = main.getPackageName();var uid = main.getApplicationInfo().plusGetAttribute("uid");var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");//android.support.v4升级为androidxif (NotificationManagerCompat == null) {NotificationManagerCompat = plus.android.importClass("androidx.core.app.NotificationManagerCompat");}//areNotificationsEnabled 保存安卓通知栏打开的状态返回值为true或falsevar areNotificationsEnabled = NotificationManagerCompat.from(main).areNotificationsEnabled();}
else{var isOn = undefined;var types = 0;var app = plus.ios.invoke('UIApplication', 'sharedApplication');var settings = plus.ios.invoke(app, 'currentUserNotificationSettings');if (settings) {types = settings.plusGetAttribute('types');plus.ios.deleteObject(settings);} else {types = plus.ios.invoke(app, 'enabledRemoteNotificationTypes');}plus.ios.deleteObject(app);//isOn 保存苹果通知栏打开的状态返回值为true或falseisOn = (0 != types);
}
第二步再根据返回的状态来打开通知栏
//安卓打开对应的通知栏
uni.showModal({title: '通知权限开启提醒',content: '您还没有开启通知权限,无法接受到消息通知,请前往设置!',showCancel: false,confirmText: '去设置',success: function(res) {if (res.confirm) {var Intent = plus.android.importClass('android.content.Intent');var Build = plus.android.importClass("android.os.Build");//android 8.0引导 if (Build.VERSION.SDK_INT >= 26) {var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');intent.putExtra('android.provider.extra.APP_PACKAGE', pkName);} else if (Build.VERSION.SDK_INT >= 21) { //android 5.0-7.0 var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');intent.putExtra("app_package", pkName);intent.putExtra("app_uid", uid);} else { //(<21)其他--跳转到该应用管理的详情页 intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);intent.setData(uri);}// 跳转到该应用的系统通知设置页 main.startActivity(intent);}}
});
//苹果打开对应的通知栏
uni.showModal({title: '通知权限开启提醒',content: '您还没有开启通知权限,无法接受到消息通知,请前往设置!',showCancel: false,confirmText: '去设置',success: function(res) {if (res.confirm) {var app = plus.ios.invoke('UIApplication', 'sharedApplication');var setting = plus.ios.invoke('NSURL', 'URLWithString:', 'app-settings:');plus.ios.invoke(app, 'openURL:', setting);plus.ios.deleteObject(setting);plus.ios.deleteObject(app);}}
});
uniapp-h5+获取通知栏权限相关推荐
- iOS H5 获取麦克风权限
ios 微信 7.0.11版内置浏览器 H5不能获取麦克风权限,不知道有没有什么办法可以获取,或者让用户允许获取权限.
- 公众号h5获取手机号权限_微信公众号h5获取用户openId的方法和步骤
微信h5静大享上.是发了概开程态间些告人屏果会区.默.非静默授权获取用户openId的方法和步骤微和二第说,班.都年很过过事发工开宗定据发指互数个遍前互就: 一.openId是什么? openId享. ...
- android应用获取通知栏权限
android应用获取手机是否有通知栏的权限: package com.jibo.health.views; import android.app.AppOpsManager; import andr ...
- 公众号h5获取手机号权限_微信公众号开发之网页授权(获取用户信息)
这次暑假留在学校参与工作室的项目,对微信公众号比较感兴趣,所以参与这方面的学习研究. 昨天完成了关于网页授权,获取用户信息方面的功能,所以乘热打铁,写上一篇.实现本篇涉及的 功能,还需要完成一些基础. ...
- uniapp获取通知栏内容 监听通知栏信息
uniapp获取通知栏内容 监听通知栏信息 简单介绍 插件地址 简单介绍 采用安卓原生SDK开发出来的一款安卓uniapp的插件,此插件只支持安卓,ios不支持. 监听通知栏内容,获取通知栏消息 安卓 ...
- h5+app Android上架华为应用市场被拒原因“拒绝获取手机权限后app会闪退“以及隐私政策问题
h5+app Android上架华为应用市场被拒原因"拒绝获取手机权限后app会闪退" 华为应用市场报错:拒绝获取手机权限后app会闪退,此问题解决方案如下: 在manifest. ...
- uniapp通讯录等敏感权限检查、申请。获取通话记录等内容
本篇文章是我对我搜集到的相关方面的一些整合希望可以帮助到大家. plus.android.requestPermissions([Permission], //所需申请权限名称,可以是数组functi ...
- HBuilderx打包h5的APP,解决获取相机权限问题
最近有一个H5项目需要打包成APP,通过HBuilderx中的原生云打包(具体过程百度一下很详细),项目中需要获取相机的权限,程序中是通过 navigator.myGetUserMedia调取相机的, ...
- h5打开麦克风权限录音_手机使用应用时总是需要获取权限,这3个权限不能随意给,望周知...
我们在使用手机应用时,总是会收到此应用需要某些权限的弹窗提示,大部分所选择的选项都是全部允许,但是我们这番操作真的正确吗? 当我们允许手机应用获取这些权限后,就说明此应用能够通过我们的手机获取我们手机 ...
最新文章
- Copying Files
- js中获取时间new date()的用法
- 小明分享|ESP8266设置STA模式ping包测试
- trident State应用指南
- 14寸笔记本电脑_纯小白预算5000到6000有什么好的笔记本电脑推荐吗?
- 【算法】剑指 Offer 66. 构建乘积数组
- 电信公网ip和内网ip的区别_私有IP共有IP和弹性IP的区别
- ZooKeeper搭建实验
- python简明教程_06
- macOS 安卓模拟器 Nox夜神模拟器 共享目录
- 生信分析用python还是r_生信分析利器:JupyterLab
- html 飘窗链接,飘窗html
- 医药电商平台解决方案
- 【转】PIC单片机的 程序存储器,数据存储器,EEPROM区别
- git的本地仓库在哪里
- jQuery实现平年闰年判断
- 手机电视入网难题将不了了之
- plc做45度的正弦值
- Android Gesture 手势识别使用实例
- LVS三种工作方式八种算法