前台服务中的静默通知

7
我有多个应用程序,它们相互配合以完成同一项工作,并且它们都属于同一个开发者。每个应用程序在后台运行长时间服务,并持续处理用户输入。问题是,这些服务不能在后台长时间运行,因为Android系统会将它们终止。因此,我想使用前台服务而不是后台服务来防止系统杀死它们。然而,我不想通过多个不同的通知在通知抽屉中打扰用户。
我发现,在Android O中创建一个没有分配通道的通知,将允许系统启动前台服务而不显示通知。类似以下内容:
Notification.Builder builder = new Notification.Builder(context);
builder.setContentTitle(......);
builder.setTicker(......);
builder.setContentText(......);
builder.setSmallIcon(......);
builder.setLargeIcon(......);
Notification notification = builder.build();
startForeground(111, notification);

所以我在考虑通过创建一个来自一个应用程序的通道的通知并为其他应用程序创建一个没有通道的通知来显示通知,就像我之前描述的那样。在这种情况下,用户将看到所有我的应用程序的一个通知。
这个解决方案对我很有效。但我想知道这是否是在前台服务中意外使用通知。我担心谷歌会因此暂停我的应用程序!
您们是否知道实现该解决方案是否可以呢?或者是否有办法将不同的应用程序的通知堆叠在一起成为一组?
我的目标只是让通知对用户不那么烦人。我也知道JobScheduler和JobIntentService的解决方案,但它们在我的情况下不能胜任,因为我想保持服务运行而不是执行一个任务后停止服务...
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接