ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android – 更新通知通道名称的正确方法是什么?

2019-06-07 19:10:18  阅读:182  来源: 互联网

标签:android android-8-0-oreo notification-channel


我想根据Locale更新通知通道名称.为了做到这一点,我正在使用BroadcastReceiver并监听ACTION_LOCALE_CHANGED广播.

我的问题是更新名称的正确方法是什么?

我应该这样做吗?

notificationManager.getNotificationChannel(CHANNEL_ID).setName(“newName”);

或者我应该重新创建这样的频道?

NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID, “newName”, NotificationManager.IMPORTANCE_DEFAULT);
notificationManager.createNotificationChannel(notificationChannel);

通过这样做(第二种方法)我当然会覆盖除了频道名称之外的任何内容吗?

解决方法:

您应该像第一次创建频道一样重新创建频道.如果尚未创建通道,createNotificationChannel命令将创建通道,如果已创建通道,它将更新通道.

如果已经创建了频道,那么您唯一可以更改的是频道名称和频道说明,而不是其他内容.重要性将被忽略,因为用户可能已经手动更改了频道的重要性.但即使他没有改变这一点,仍然不会更新重要性,实际上这就是通知渠道的目的.让用户自由管理他们的频道,而不会让开发人员在应用更新时搞乱他们.

总而言之,通过声明:

NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID, “newName”, NotificationManager.IMPORTANCE_DEFAULT);
notificationManager.createNotificationChannel(notificationChannel);

在已创建的频道中,将更新频道的名称,但不会更新频道的名称.如果您还想更新频道说明,可以这样做:

notificationChannel.setDescription("new description"); //set that before creating the channel

标签:android,android-8-0-oreo,notification-channel
来源: https://codeday.me/bug/20190607/1195704.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有