背景
自从 Android 上出现提示通知以来,有些人喜欢它的快速处理,但有些人讨厌它显示在应用程序(尤其是游戏)之上。
为了显示提示通知,开发人员可以使用类似的东西:
final NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setContentTitle("aa").setContentText("bb").setTicker("cc")
.setColor(0xffff0000).setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
.setPriority(Notification.PRIORITY_HIGH);
if (Build.VERSION.SDK_INT >= 21)
builder.setVibrate(new long[0]);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1, builder.build());
正因为如此,一些应用程序提出了显示以某种方式替换它们的股票文本通知的想法,就像以前在提醒通知之前一样:
https://play.google.com/store/apps/details?id=com.jamworks.noheadsup&hl=en
在多种情况下,这可能很有用。例如,在使用全屏的游戏中,它可能很有用。这是因为如果用户即将按下顶部区域,并且会显示提示通知,我们希望避免意外点击此通知。
问题
我不仅找不到人们如何做到这一点的方法,而且它似乎不再适用于新版本的 Android(在 Android 7 上测试)。
我发现阻止通知的唯一应用是: https ://play.google.com/store/apps/details?id=com.aboutmycode.NotificationsOff&hl=en
但它不会将提醒通知转换为“正常”通知。相反,它只是阻止了它们。另外它需要root,并且似乎只是将通知的设置更改为 "blocked" 。
问题
是否可以暂时阻止提醒通知(但将它们转换为没有提醒通知的通知)?如果是这样,怎么做?
它有哪些限制?没有root能用吗?如果可以使用root,如何?“通知关闭”如何工作?
也许这种能力以前是可能的,但现在不是了?