Android

您所在的位置:网站首页 如何关闭安卓系统提醒 Android

Android

2024-07-11 07:01| 来源: 网络整理| 查看: 265

提醒式通知也称为横幅通知或悬浮通知,适用于用户应该立即知晓的通知,它会短暂地悬浮在Window上,等到显示时间耗尽或者用户上划后消失,随后仍显示在通知抽屉中。

提醒式通知的应用非常广泛,QQ/微信的消息通知,支付宝的交易记录都会以提醒式通知的形式出现。不过Android的官方文档上并没有明确表示该如何触发提醒式通知,而是给出了以下模糊的描述。

以下情况可能会触发提醒式通知: 1 用户的 Activity 处于全屏模式(应用使用 fullScreenIntent)。 2 通知的优先级很高,且在搭载 Android 7.1(API 级别 25)及更低版本的设备上使用铃声或振动。 3 在搭载 Android 8.0(API 级别 26)及更高版本的设备上,通知渠道的重要程度比较高。

也就是说,开发者没办法调用特定的方法显示提醒式通知,而是系统根据通知的重要性去判断是否作为提醒式通知展示。而国内的APP大多没什么节操,大多喜欢直接使用最高优先级,这种粗暴的方式会极大地伤害用户体验,因此系统一般默认关闭提醒式通知。而像微信等APP,手机厂商默认是允许提醒式通知的,这是国民级APP的特权。

下面以MIUI12系统为例,看一下如何才能展示提醒式通知。首先打开“悬浮通知”设置,该选项位于应用的“通知管理”界面。在该界面还能看到“通知类别”选项,该选项中的每一个类别对应一个NotificationChannel,而只有某个通知渠道的重要程度为“紧急”时才会显示提醒式通知。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (mNotificationChannel == null) { mNotificationChannel = new NotificationChannel( DOWNLOAD_CHANNEL_ID, DOWNLOAD_CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH); mNotificationChannel.setShowBadge(true); mNotificationChannel.setLightColor(Color.BLUE); mNotificationChannel.enableVibration(false); notificationManager.createNotificationChannel(mNotificationChannel); } mNotification = new NotificationCompat.Builder(context, DOWNLOAD_CHANNEL_ID) .setWhen(System.currentTimeMillis()) .setSmallIcon(R.mipmap.ic_launcher) .setPriority(NotificationCompat.PRIORITY_HIGH) .setDefaults(Notification.DEFAULT_ALL) .setOngoing(true) .setAutoCancel(true) .setContentTitle(title) .setContentText(content) .build(); }

可以发现NotificationChannel的重要性被设置为了NotificationManager.IMPORTANCE_HIGH,其对应“通知管理”中的“紧急”,但如果用户手动调整该通知的重要性,那也无法显示提醒式通知。由于提醒式通知的限制较多,如果有类似需求,可以考虑通过WindowManager实现。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3