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)的主要内容,如果未能解决你的问题,请参考以下文章

ios跳转到系统设置

react-native 跳转到ios/android 权限设置界面

iOS应用内跳转到系统设置页面

iOS App 内跳转到手机系统设置页面

怎样做点击推送消息,跳转到指定页面

如何设置web页面访问权限?只允许登录用户访问login.php,其他页面未通过验证均跳转到登录界面