赞
踩
通知渠道是Android 8.0之后开始的概念。所有的通知都必须分配到相应的渠道,每个渠道,我们可以设置相应的视觉与听觉行为,即可以自定义相关铃声。
Android13 将通知权限改为了运行时权限,基于此,需要对PushSDK做android13.0的适配。
Android13手机,没有配置通知权限可能出现的问题
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
配置通知权限后,可以打开通知权限了
检测授权接口。
ContextCompat.checkSelfPermission(权限),Android系统API接口
是否需要显示权限解释接口。
shouldShowRequestPermissionRationale(权限),Android系统API接口
请求权限接口。
requestPermissions(权限),Android系统API接口
弹出系统弹窗。
API 26也就是Android8.0之后可以使用Setting中的此个action实现页面的跳转。
ACTION_APP_NOTIFICATION_SETTINGS
Android8.0以后,常量 ACTION_APP_NOTIFICATION_SETTINGS 对应的值为:
public static final String ACTION_APP_NOTIFICATION_SETTINGS
= "android.settings.APP_NOTIFICATION_SETTINGS";
实现如下:
Intent intent = new Intent();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
intent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName);
intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
notificationSetting = 0;
}
自启动页面在不同渠道不统一,没有统一的跳转界面。
以红米K50为例,自启动页面的开关在应用信息页上:
以OPPO Find2为例,OPPO的自启动页面在应用信息-耗电管理界面:
注意:如果您以 Android 8.0(API 级别 26)为目标平台,并在未指定通知渠道的情况下发布了一条通知,则该通知不会显示且系统会记录错误。
如果SDK target 编译的版本是大于等于26的,某些厂商不支持自定义通知渠道,这种情况下是否会导致通知不显示?
铃声下载地址:
铃声下载地址
小米推送地址:
小米推送 自定义推送铃声 4.1章节 4.5章节
华为推送
自定义推送铃声 4.1章节
OPPO、VIVO、魅族不支持自定义铃声
git地址:
https://gitee.com/my739168148/local-push.git
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。