【问题标题】:How can I create a notification channel for Android API level < 26 (before Android Oreo)? [closed]如何为 Android API 级别 < 26(在 Android Oreo 之前)创建通知通道? [关闭]
【发布时间】:2020-07-13 18:32:29
【问题描述】:

我目前正在使用 Android 服务: https://developer.android.com/guide/components/services

我正在创建一个必须是前台服务的服务。 但是查看文档,前台服务需要通知通道。

但通知通道仅在 api 26 或更高版本上。如何为

我被这段代码卡住了

    if (VERSION.SDK_INT >= 26) {
        getSystemService(NotificationManager.class).createNotificationChannel(new NotificationChannel("ServiceWorker", "ServiceWorker", NotificationManager.IMPORTANCE_DEFAULT));
    }

【问题讨论】:

标签: java android service android-service android-notifications


【解决方案1】:

没有办法为 API 级别

幸运的是,这意味着您的代码已经正确。通过仅在 API 级别 >= 26 上创建通道,您已经在做正确的事情。

当您使用NotificationCompat.Builder 创建通知时,您可以简单地使用您的字符串无条件地调用setChannelId,它会在不支持频道的Android 版本上为您忽略它(“@ 之前的版本上无操作987654326@")。

然后您可以将返回的通知传递给startForeground,如guide you linked 中所述。

【讨论】:

    猜你喜欢
    • 2018-01-05
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    相关资源
    最近更新 更多