当前位置: 首页 > news >正文

多语言商城网站开发拍大师官方网站 图片做视频

多语言商城网站开发,拍大师官方网站 图片做视频,昆山建设工程招聘信息网站,做资讯网站需要哪些资质发现把Android通知渠道的重要性设置为最高时#xff0c;当发送通知时#xff0c;通知能直接弹出来显示#xff0c;以前一直搞不明白为什么别的app的通知可以弹出来#xff0c;我的不行#xff0c;搞了半天原来是这个属性在作怪#xff0c;示例如下#xff1a; class Ma…发现把Android通知渠道的重要性设置为最高时当发送通知时通知能直接弹出来显示以前一直搞不明白为什么别的app的通知可以弹出来我的不行搞了半天原来是这个属性在作怪示例如下 class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)if (Build.VERSION.SDK_INT Build.VERSION_CODES.TIRAMISU) {registerForActivityResult(ActivityResultContracts.RequestPermission()) {}.launch(Manifest.permission.POST_NOTIFICATIONS)}if (Build.VERSION.SDK_INT Build.VERSION_CODES.O) {val importance NotificationManager.IMPORTANCE_HIGHval channel NotificationChannel(channel_id, MyChannel, importance)channel.description This is my notification channelNotificationManagerCompat.from(this).createNotificationChannel(channel)}val builder NotificationCompat.Builder(this, channel_id).setSmallIcon(R.drawable.icon).setContentTitle(这是通知标题).setContentText(这是通知内容)if (ActivityCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) PackageManager.PERMISSION_GRANTED) {NotificationManagerCompat.from(this).notify(1, builder.build())}}}最主要的是使用了NotificationManager.IMPORTANCE_HIGH常量其它的随便怎么设置都不重要。运行效果如下 如果手机有这个设置需要打开如下 这个选项默认是打开的。如果是关的话通知就不会弹出来。点击通知渠道名称还有一个 “允许打扰” 的选项如下 这个开关默认是关的但是通知还是能弹出来而且也有通知声音振动没试过。在一台不知名的手机上我试了设置免打扰模式通知还是能弹出来只是通知的声音没有了打开 “允许打扰” 就可以听到通知声音了这台手机是Android 11版本可能做的不太规范。 在我的小米手机11proAndroid 13上通知设置的主页是这样的 这个开关默认也是开的点击通道名称MyChannel之后也有一个一样的权限默认也是开的如下 当我把主页上的 “悬浮通知权限” 关闭后通道里的这个开关就不见了所以通知主页上的所有开关都是app通知的总开关对所有频道都生效所以如果有多个通道频道的话可以针对不同的频道单独设置是否可以弹出通知比如有一个Linphone应用我查看它的通知是创建了4个频道的如下 Linphone 来电通知用于显示来电。通过自定义通知的UI可以在通知上显示接收听电话按钮。如果是平时我们自己做的话估计会使用Dialog来弹窗显示原来用通知也能实现啊那如何保持通知弹出来一直显示呢直到用户点击接听或者挂断按钮。Linphone 即时通讯通知用于显示消息通知Linphone 未接来电通知用于显示未接来电Linphone 服务通知用于在保持应用长期在后台所以这个服务是以前台服务开启的这样就必须显示一个常驻消息栏的通知通知的消息内容为“若要在后台可接听电话这是必要的”。这个理由很不错学习了充分的理由让用户知道这个前台服务的功能要不然用户可能会关闭掉这个服务不知道是不是把通知一关服务就关掉了呢待实验。 为不同的使用场景创建不同的频道是个比较好的做法以方便用户有更细的选择比如我觉得电话比较重要我就可以打开 “Linphone 来电通知” 这个渠道中的悬浮窗权限其它频道的全都关闭。 再来看看微信app的通知渠道 可以看到微信app创建了3个通知频道一个用于接收新消息一个用于下载一个用于音视频通话在微信app中我们可以设置消息免打扰如果我想把所有的微信群都设置为免打扰无需在app内部设置最快捷的办法就是在 “新消息通知” 这个通知频道中设置就可以了比如把这个频道中的所有开关全部关掉如下 “允许通知” 是一个总开关关掉这个下面的所有功能都不可用所以我们也可以单独设置比如设置震动但是不允许声音如下 我发现微信的3个频道中有两个频道的 “悬浮通知权限” 是开的有一个是关闭的这是什么API控制的呢其实就是创建通知频道时的importance参数控制的设置为NotificationManager.IMPORTANCE_DEFAULT它默认就是关的设置为NotificationManager.IMPORTANCE_HIGH它默认就会是开的。所有的常量如下 public static final int IMPORTANCE_NONE 0; public static final int IMPORTANCE_MIN 1; public static final int IMPORTANCE_LOW 2; public static final int IMPORTANCE_DEFAULT 3; public static final int IMPORTANCE_HIGH 4; public static final int IMPORTANCE_MAX 5;可以看到DEFAULT 跟 HIGH 就差一个级别。MAX 目前是不可用的我在代码中使用时IDE直接报错它的源码注释为Unused. 使用 MIN 和 LOW 又会有什么不同呢待实验。 在观看Linphone的源代码时发现它在发送通知时会先判断一下importance通过通知频道的ID可以再次获取importance属性代码如下 val importance notificationManager.getNotificationChannel(channelId)?.importance ?: NotificationManagerCompat.IMPORTANCE_NONE通过判断 importance 是 IMPORTANCE_NONE 则认为用户关闭了该通知频道。然后我看到它设置的前台服务的通知频道使用IMPORTANCE_LOW来电话时它默认是使用这个对应的频道来发送通知的然后判断如果这个频道被用户关闭了的话再用来电通知的那个频道来发消息而且有提到如果用户关闭了服务通知频道然后再打开的话则这个频道原先是IMPORTANCE_LOW这样操作后就不是IMPORTANCE_LOW了这也是一个细节点。我奇怪的是这个频道使用IMPORTANCE_LOW的话它是如何让通知弹出来的而且这个通知会一直显示直到用户按接听或挂断按钮通知对象中有个方法setCategory(NotificationCompat.CATEGORY_CALL)不知道是否跟这个有关有时间再去研究了。这个Linphone的关于通知的源码值得好好去研究它还有兼容性处理针对不同的版本有不同的处理。 因为低版本是没有通知频道说法的所以可以想到在通知渠道的一些方法比如设置通知声音、通知灯颜色、通知振动等的一些方法在NotificationCompat.Builder中也会有。 有时间真的可以好好研究Linphone的源码人家还是用Kotlin写的好多东西值得学习。 以前我一直不知道通知频道的id怎么定义这时就可以参考一下别人是怎么写的比如Linphone的如下 linphone_notification_service_id Linphone服务通知linphone_notification_missed_call_id Linphone未接来电通知linphone_notification_call_id Linphone来电通知linphone_notification_chat_id Linphone即时通讯通知 从这看的话这个id就是一个普通的字符串能描述你这个通知频道即可以后通过这个id可以获取频道对象notificationManager.getNotificationChannel(channelId)。 再来看看别人的频道名称和描述是怎么起的以后自己就知道应该怎么写了截图来自于我的小米11pro (Android 13)Linphone的如下 可以看到Linphone的是偷懒做法名称和描述都写成一样的但也没什么不可因为通过名称其实就已经足够了解这个频道是做什么的了所以名称和描述可以是一样的但是对于 “Linphone服务通知” 这个是看不出来是做什么的描述应该更详细一些。 下面是微信的 对于不同的频道有不一样的设置比如对于 “新消息通知” 的铃声为默认铃声即系统自带的通知铃声中的默认铃声对于 “音视频通话邀请通知” 的铃声为显示为 phonering我在另一手机上看到显示为phonering.mp3所以小米系统隐藏了文件扩展名这不是我系统自带的铃声所以如何给通知设置一个默认铃声和自定义铃声有时间可以学一下不只是铃声通知频道中的所有开关设置都是哪些API控制的都应该掌握。 下面是QQ的 不知道为什么QQ的这么特殊它的通知频道上有一个 “允许通知“ 的开关用于控制所有的频道但是最上方还有一个这种开关啊如下 别的app的通知频道列表的标题是 “通知类别”而QQ的显示为 “消息通知”这么神奇。另外QQ的通知频道都是只有名称没有描述所以描述不是必须的因此对于前面Linphone的把通知频道的名称和描述写成一样就有点多余了如果都一样的话只写名称就好了。 下面是美团外卖的 天哪竟然这么多所以对于那些感觉没用的通知频道我们可以把它给禁用掉。 下面是支付宝的 这么神奇这么大个App竟然没有通知频道支付宝不用发送通知的吗我真的好像没在我手机上看到过支付宝的通知。 下面是京东的 可以看到“京东通知” 这个频道竟然有两个说明通知频道的名称是可以重复的。 下面是今日头条的 静默通知长舍样的学习下 原来就是不弹窗、无声音、无振动、锁屏不显示。 下面是百度地图的 下面是哈罗的 哈罗的和QQ一样没有显示 “通知类别”它的显示为 “哈罗” 和 “其他”这两个标题下的都是通知频道刚开始我看到 “不重要”、“普通”我以为又是一个什么奇怪的设置的原来只是通知频道的名称而已这里我有个大胆的猜测通知频道可以分组哈罗这里分成了两组组名分别为 “哈罗” 和 “其他”但是也有点奇怪为什么哈罗第一组前面有一个 “允许通知” 的开关可以控制该组但是 “其他” 这个组中又没有这个开关是系统Bug吗还是我理解有误有时间再来研究。 下面是Edge浏览器的 可以看到Edge也把通知频道分成了两组跟哈罗不同的是这里每个组都有一个 “允许通知” 的总开关分别用于控制每个组所以我猜想有分组的频道就会有一个总开关控制如果同时有分组的也有没分组的则没分组的会显示到 “其他” 这个类别下但是由于他们不是一组的所以没有总开关控制就像我们一个组也不分时它显示为 “通知类别”也是没有总开关控制的。 下面是酷狗音乐的 下面是TO DO的 这个的感觉就不是很专业了分的太细了比如文件传输和文件传输完毕都用一个频道不就完了吗非要搞成两个频道来发送通知。还有一些奇奇怪的“你今天将处理哪些工作”、“奇妙清单导入完毕”。 OK看了这么多别人的通知频道的设置了当我们自己开发的时候对于通知频道我们应该知道要设置什么以及怎么设置比较合理了。
http://www.dnsts.com.cn/news/83516.html

相关文章:

  • 杭州做网站推广公司推荐东莞企业网站建设推广
  • 成立一间网站开发公司seo实战技巧
  • 专业做网站哪家强wordpress 删除作者信息
  • 深圳二维码网站建设深圳市招聘信息网站
  • 网站开发 税率企业管理网站的来历
  • 创意经济型网站建设如何进行app推广
  • 建设手机银行网站wordpress 插件本地化
  • go语言做的网站wordpress充值密码没有链接
  • flash个人音乐网站模板源码python开源网站源码
  • 外贸工厂 网站建设做网站和做软件一样吗
  • 滨州网站网站建设做网站美工工资多少
  • 常平镇网站仿做百度联盟广告点击一次收益
  • 做机械的老板都看什么网站直播平台网站建设
  • 网站顶部导航代码单位网站建设费用
  • 为什么四川省建设厅网站打不开如何开网页游戏
  • 网站推广的工具南昌地宝网租房信息
  • 中国建设银行贷款网站网站设置首页连接分类页的视频教程
  • 卖游戏辅助的网站怎么建设小程序代码做网站
  • 黑龙江建设局网站东莞市专注网站建设服务机构
  • 扬州哪里做网站好90设计网首页
  • 婚礼婚庆网站建设深圳建设招标网站首页
  • 贵阳网站商城建设营销型网站的特点
  • seo网站策划书网站m3u8链接视频怎么做的
  • 网站的二维码怎么做小学校园门户网站建设方案
  • 网站建设否定关键词长沙黄花机场公众号
  • 企业网站的布局个人网页设计与实现ppt
  • 太原网站公司网站分析的优劣势
  • 淘宝购物返利网站开发wordpress文件上传管理
  • 免费制作网站和网页潍坊做网站的企业
  • 电白建设局网站docker wordpress多个