startForegroundService - 指定自定义 'background app running..' 通知?
startForegroundService - Specify a custom 'background app running..' notification?
我有一个通过 startForegroundService
启动的前台服务。
一切都很好。
我唯一想不通的是如何/如果可能的话自定义“...是 运行 在后台”通知。
我发送给 startForeground
的通知如下所示:
Notification notification = notificationBuilder.setOngoing(true)
.setCategory(NotificationCompat.CATEGORY_SERVICE)
.setSmallIcon(R.drawable.ic_notif_icon)
.setContentTitle("My title")
.setContentText("My content")
.build();
startForeground(1, notification);
然后 android 向我展示了标准的“...运行 在后台”通知,我的自定义通知无处可见。
我是不是做错了什么?
不想隐藏它或任何恶意的东西,但更想将它用作后台服务实际正在做的事情的状态......这听起来像是这类事情的理想用例。
不管它的价值如何,我是 运行 Android 8 并且目标是 SDK 26,因为这是我手机的最新版本。
谢谢!
根据 Create and Manage Notification Channels guide:
Starting in Android 8.0 (API level 26), all notifications must be assigned to a channel.
您的通知没有出现,因为您没有按照同一页面上的说明设置通知渠道:
Caution: If you target Android 8.0 (API level 26) and post a notification without specifying a notification channel, the notification does not appear and the system logs an error.
Note: You can turn on a new setting in Android 8.0 (API level 26) to display an on-screen warning that appears as a toast when an app targeting Android 8.0 (API level 26) attempts to post without a notification channel. To turn on the setting for a development device running Android 8.0 (API level 26), navigate to Settings > Developer options and enable Show notification channel warnings.
我有一个通过 startForegroundService
启动的前台服务。
一切都很好。
我唯一想不通的是如何/如果可能的话自定义“...是 运行 在后台”通知。
我发送给 startForeground
的通知如下所示:
Notification notification = notificationBuilder.setOngoing(true)
.setCategory(NotificationCompat.CATEGORY_SERVICE)
.setSmallIcon(R.drawable.ic_notif_icon)
.setContentTitle("My title")
.setContentText("My content")
.build();
startForeground(1, notification);
然后 android 向我展示了标准的“...运行 在后台”通知,我的自定义通知无处可见。
我是不是做错了什么?
不想隐藏它或任何恶意的东西,但更想将它用作后台服务实际正在做的事情的状态......这听起来像是这类事情的理想用例。
不管它的价值如何,我是 运行 Android 8 并且目标是 SDK 26,因为这是我手机的最新版本。
谢谢!
根据 Create and Manage Notification Channels guide:
Starting in Android 8.0 (API level 26), all notifications must be assigned to a channel.
您的通知没有出现,因为您没有按照同一页面上的说明设置通知渠道:
Caution: If you target Android 8.0 (API level 26) and post a notification without specifying a notification channel, the notification does not appear and the system logs an error.
Note: You can turn on a new setting in Android 8.0 (API level 26) to display an on-screen warning that appears as a toast when an app targeting Android 8.0 (API level 26) attempts to post without a notification channel. To turn on the setting for a development device running Android 8.0 (API level 26), navigate to Settings > Developer options and enable Show notification channel warnings.