1

假设我的应用程序从带有项目 ID 的服务器接收推送通知。收到推送通知项目的详细信息后,必须从服务器获取(使用改造),然后显示 Android 通知。当电话不空闲时,这非常简单。

但是当我锁定手机并保持这种状态时会发生什么?一段时间后手机进入睡眠状态。应该会收到推送通知。但让我心烦意乱的是改造电话。应用程序会保持清醒直到我完成 - 处理 - 改造调用,还是在处理它时它可以被“杀死”?它与所谓的WakeLock有什么关系吗?还是首先使用改造是一种不好的方法?我找不到任何可以帮助我理解的好文章或示例。

4

2 回答 2

0

听起来像是SyncAdapter的工作。我从来没有经历过它被过早杀死,尽管它可能是。它已经在单独的进程上运行,因此无需调用.subscribeOn(Schedulers.io()). 该文档提供了一个准确描述您的用例的示例。意味着 GCM 通知后的同步。我不会在这里复制它,您可以在上面的链接下找到它。

于 2018-01-29T13:47:14.950 回答
0

我的解决方案:我使用 Evernote 的Android Job库管理它(FirebaseJobFCM 文档页面上的代码示例中还提到了 - 选项)。Android Job我在收到推送通知后安排通话。必须使用阻塞 RX 调用,因此结果不会超过改造响应:https ://github.com/evernote/android-job/wiki/FAQ#how-can-i-run-async-operations-in-a-工作

于 2018-02-01T07:54:15.823 回答