Android推送通知权限判断及跳转到权限设置界面(完善兼容8.0)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android推送通知权限判断及跳转到权限设置界面(完善兼容8.0)相关的知识,希望对你有一定的参考价值。
参考技术A有时候产品要求增加一个推送通知的开关(有些还要求具体到哪些通知,比如广告类? 比如重大热点等?)。
我们首先想到的肯定就是再推送回调接口里面判断开启的状态,进而进行过滤!没错,如果对于关闭通知肯定没问题。但是对于开启通知有个问题?就是即使你开启了这个状态值,但是如果 系统关闭了该应用的通知权限 ,那么你开启了其实也没有用对吧?
所以正常的逻辑是:
1. 如果关闭,则不用判断权限,直接关闭就行
2. 如果开启,首先判断是否有通知权限,如果有则走关闭逻辑就行;如果没有,则把开关状态重置回来,然后申请通知权限 - 通知权限开启后再次开启就没有问题了
**a> **直接给判断权限的工具类:
b> 跳转到通知设置的界面(自己做了下完善和测试)
啊哈!!目前就是酱紫,这个应该有官方的吧,我找找看...有相关类的说明,但是具体的案例没有。不过有具体的一些个解释:
比如: Settings | Android Developers
再比如判断的方式:
意思就是说:当一个NotificationChannel 被阻塞时,这个getImportance()的值就是IMPORTANCE_NONE,其他情况则不是。所以8.0也就可以根据这个状态来做判断.8.0以下的话采用的是反射的方式 - 这个具体的大家可以研究一下。小白暂时不研究了,先做个记录和简单学习。
最后使用逻辑:Switch控件(selector_thumb, selector_track就是slector,里面就是一些个shape文件...)
剩下的你可以测测了哟...小宝贝...
如何在应用程序中从系统推送通知设置跳转到个人推送通知设置?
【中文标题】如何在应用程序中从系统推送通知设置跳转到个人推送通知设置?【英文标题】:How to jump from system push notifications settings to personal push notifications settings in the application? 【发布时间】:2021-11-15 08:27:25 【问题描述】:我在推送通知设置中的某些应用程序中看到了这样的按钮,它们打开了应用程序中的个人通知设置。 我找不到有关如何实现此功能的信息。请告诉我如何将其添加到我的应用程序中。 enter image description here
【问题讨论】:
【参考方案1】:在请求通知授权中,您应该添加providesAppNotificationSettings
,如下所示。
UNUserNotificationCenter.current().requestAuthorization(选项:[.badge、.alert、.sound、.providesAppNotificationSettings])
之后,您需要将用户重定向到您的应用设置页面下方的功能。
func userNotificationCenter(_ center: UNUserNotificationCenter, openSettingsFor notification: UNNotification?) // Redirect User to App Settings Page
【讨论】:
以上是关于Android推送通知权限判断及跳转到权限设置界面(完善兼容8.0)的主要内容,如果未能解决你的问题,请参考以下文章