即时应用程序如何执行延迟后台工作的建议

3
根据Google关于即时应用的常见问题
例如,即时应用不能使用后台服务、发送后台通知或访问唯一设备标识符。
所以我的主要问题是:即时应用进行小型后台工作的最佳实践是什么?我们安装的应用程序目前依赖于自定义分析客户端中的JobScheduler,以便在稍后有网络连接时发送事件块。 JobScheduler似乎对即时版本无效,我们希望WorkManager能够解决此问题。但是,只有当您想要运行的作业没有初始延迟时,切换到它似乎才有效,因此我们不知道如何最好地解决此问题。

请参见以下有关编程的内容:https://stackoverflow.com/questions/44656049/android-instantapp-foreground-service - TWL
请访问 https://github.com/googlesamples/android-instant-apps/tree/master/service。 - TWL
我记得即时应用支持JobScheduler。当你说它不起作用时,你是指日志中有错误吗?如果你有一个样例,在已安装的应用上可以工作,但在即时应用上没有任何可见的日志错误,那么你可以将其发送到https://issuetracker.google.com/components/316045#basic,他们会仔细研究它(并提供一个链接回来,以便其他人可以参考你的问题)。 - TWL
提交了一个关于这个问题的问题:https://issuetracker.google.com/issues/124267857 - Tepes Lucian
我可以确认你在 Google Bug 上提供的解决方法有效。 - TWL
显示剩余2条评论
1个回答

0

对于任何想了解此问题的人,我们在此问题上有一个官方评论。基本上,JobScheduler不适用于即时应用程序。

作为一种解决方法,我们将后台作业重构为WorkManager,并在应用程序作为即时应用程序运行时以无初始延迟方式运行它们,而对于已安装的应用程序则按照预期的延迟运行。


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