gpt4 book ai didi

android - 前台服务中的静默通知

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:21:17 30 4
gpt4 key购买 nike

我有多个应用程序可以协同工作以完成相同的工作,并且它们都属于同一个开发人员。每个应用程序都在后台运行一个长时间运行的服务,并不断处理用户的输入。问题是那些服务不能长时间在后台运行,因为Android系统会杀死它们。所以我想使用前台服务而不是后台服务来防止系统杀死它们。但是,我不想在通知抽屉中使用多个不同的通知来烦扰用户。

我发现在 Android O 中创建通知而不分配 channel ,会让系统在不显示通知的情况下启动前台服务。类似于以下内容:

Notification.Builder builder = new Notification.Builder(context);
builder.setContentTitle(......);
builder.setTicker(......);
builder.setContentText(......);
builder.setSmallIcon(......);
builder.setLargeIcon(......);
Notification notification = builder.build();
startForeground(111, notification);

因此,我正在考虑通过从一个应用程序创建一个带有 channel 的通知来显示通知,并为其他应用程序创建一个没有 channel 的通知,如我之前所述。在这种情况下,用户将看到我所有应用程序的一个通知。

该解决方案对我来说效果很好。但我想知道这是否是在前台服务中意外使用通知。我担心 Google 会因此暂停我的应用!!

你们知道实现该解决方案是否合适吗?或者有什么方法可以将通知堆叠在一起,即使它们是不同的应用程序?

我的目标只是让通知对用户来说不那么烦人。另外,我知道 JobScheduler 和 JobIntentService 解决方案。但他们在我的案例中没有完成这项工作,因为我想保持服务运行。不像做一份工作就停止服务...

最佳答案

您可以使用 IMPORTANCE_LOW ( https://developer.android.com/training/notify-user/channels#importance ) 创建通知 channel 。应该没有声音。

或者您也可以使用 setOnlyAlertOnce() ( https://developer.android.com/training/notify-user/build-notification#Updating ) 并且声音只会响一次。

关于android - 前台服务中的静默通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49419063/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com