显示通知时关于华为 5.1 phone 的奇怪 allow/deny 问题

Strange allow/deny question on Huawei 5.1 phone when showing notification

所以事实证明,5.1 的华为手机无法显示 MediaStyle 通知,所以在解决这个问题时,我做了一个非常简单的通知测试,然后我得到了一个奇怪的问题 Allow App Name to push messages to the notification panel

我没有以任何方式使用推送,事实上下面的屏幕截图是一个应用程序,它所做的只是显示一个示例通知,没有别的。

如何让它不显示?

这是代码:

 Notification notification = new Notification.Builder(getApplicationContext())
                .setSmallIcon(R.drawable.ic_launcher_background)
                .setContentTitle("Track title")
                .setContentText("Artist - Album")
                .setOngoing(true)

                .addAction(R.drawable.ic_add_black_24dp, "fwd", pi)
                .addAction(R.drawable.ic_android_black_24dp, "fwd", pi)
                .addAction(R.drawable.ic_archive_black_24dp, "fwd", pi)
                .addAction(R.drawable.ic_arrow_back_black_24dp, "fwd", pi)
                .addAction(R.drawable.ic_aspect_ratio_black_24dp, "fwd", pi)
                .addAction(R.drawable.ic_fast_forward_black_24dp, "fwd", pi)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.vectors_525058875))
                .setAutoCancel(false)


                .build();
        notificationManager.notify(300, notification);

这是截图。

我做错了什么?我尝试采取所有行动,但没有帮助。取出标题和上下文,这没有帮助。取出大图标、自动取消、正在进行等,没有帮助。

请注意,我没有以任何方式使用 Push,这似乎与此无关。我还使用支持兼容库来发出通知,但在这个例子中,我不仅仅是为了确保这不是问题所在。

您使用了已弃用的构造函数。您必须指定频道。像这样:

Notification.Builder builder = new NotificationCompat.Builder(context,"MyPerfectApplication")

否则你使用未知频道,可能你尝试推送系统频道。

华为版本的 Android OS 有一个自定义功能,试图发现应用程序发出烦人的通知数量。

不要关注 "push" 这个词。这并不意味着 "push notifications" 在来自互联网的技术意义上。它只是一个动词,他们可以说 "allow app to create notifications" 或 "allow app to cause notifications" 是相同的意思。

无论如何,这是一项 OS 功能,您无法避免它,除非确保您的通知不是垃圾邮件。不幸的是,在开发和测试期间,您经常会触发 大量 通知,并且 OS 会检测到您的应用程序是垃圾邮件。别担心。只要您的应用对普通用户运行良好,就不会发生这种情况。

它确实是 EMUI 的自定义检查,它使用户能够决定是否将这些自定义通知推送到默认通知渠道,之前在尝试第一次推送时,曾经显示过其中一个通知。它通常在该通知面板内控制您在华为设备上的应用程序的通知设置。默认情况下允许系统和供应商应用程序推送通知,因此它永远不会要求用户在那里进行双重确认。这与过多的通知无关,因为无论数量多少,推送这些通知都是前提。

这是华为定制的AndroidOS功能。长话短说,你不能禁用它。

我在测试我的应用程序时看到了很多。华为 OS 认为您的通知可能会惹恼最终用户(在这种情况下是您自己),因为它经常发生。

大可不必担心