短视频系统源码,让程序获得通知栏权限

短视频系统源码,让程序获得通知栏权限实现的相关代码

控制消息栏的消息打开和关闭就需要获取手机系统,还有手机通知栏的打开情况

 

第一步我们先获取手机的系统,根据系统然后获取通知栏打开的状态

 

 

1
if (plus.os.name == 'Android') {//判断是否是安卓系统<br>    var main = plus.android.runtimeMainActivity();<br>var pkName = main.getPackageName();<br>var uid = main.getApplicationInfo().plusGetAttribute("uid");<br>var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");<br>//android.support.v4升级为androidx<br>if (NotificationManagerCompat == null) {<br>NotificationManagerCompat = plus.android.importClass("androidx.core.app.NotificationManagerCompat");<br>}<br>    //areNotificationsEnabled 保存安卓通知栏打开的状态返回值为true或false<br>var areNotificationsEnabled = NotificationManagerCompat.from(main).areNotificationsEnabled();<br> <br>}<br>else{<br>    var isOn = undefined;<br>var types = 0;<br>var app = plus.ios.invoke('UIApplication', 'sharedApplication');<br>var settings = plus.ios.invoke(app, 'currentUserNotificationSettings');<br>if (settings) {<br>types = settings.plusGetAttribute('types');<br>plus.ios.deleteObject(settings);<br>} else {<br>types = plus.ios.invoke(app, 'enabledRemoteNotificationTypes');<br>}<br>plus.ios.deleteObject(app);<br>    //isOn 保存苹果通知栏打开的状态返回值为true或false<br>    isOn = (0 != types);<br>}

第二步再根据返回的状态来打开通知栏

 

 

1
//安卓打开对应的通知栏<br>uni.showModal({<br>title: '通知权限开启提醒',<br>content: '您还没有开启通知权限,无法接受到消息通知,请前往设置!',<br>showCancel: false,<br>confirmText: '去设置',<br>success: function(res) {<br>if (res.confirm) {<br>    var Intent = plus.android.importClass('android.content.Intent');<br>var Build = plus.android.importClass("android.os.Build");<br>//android 8.0引导  <br>if (Build.VERSION.SDK_INT >= 26) {<br>var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');<br>intent.putExtra('android.provider.extra.APP_PACKAGE', pkName);<br>} else if (Build.VERSION.SDK_INT >= 21) { //android 5.0-7.0  <br>var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');<br>    intent.putExtra("app_package", pkName);<br>intent.putExtra("app_uid", uid);<br>} else { //(<21)其他--跳转到该应用管理的详情页  <br>intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);<br>var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);<br>intent.setData(uri);<br>}<br>    // 跳转到该应用的系统通知设置页  <br>    main.startActivity(intent);<br>}<br>}<br>});<br>//苹果打开对应的通知栏<br>uni.showModal({<br>title: '通知权限开启提醒',<br>content: '您还没有开启通知权限,无法接受到消息通知,请前往设置!',<br>showCancel: false,<br>confirmText: '去设置',<br>success: function(res) {<br>if (res.confirm) {<br>var app = plus.ios.invoke('UIApplication', 'sharedApplication');<br>var setting = plus.ios.invoke('NSURL', 'URLWithString:', 'app-settings:');<br>plus.ios.invoke(app, 'openURL:', setting);<br>plus.ios.deleteObject(setting);<br>plus.ios.deleteObject(app);<br>}<br>}<br>});

 

以上就是 短视频系统源码,让程序获得通知栏权限实现的相关代码,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(95)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示