假设我的应用程序从携带项目ID的服务器收到推送通知。收到推送通知项目后,必须从服务器获取详细信息(使用改装),然后显示Android通知。当手机闲置时,这非常简单。
但是,例如,我锁定手机并保持这种状态?一段时间后,手机进入睡眠状态。应该收到推送通知。但是我想到的是改装电话。应用程序是否会保持清醒直到我完成 - 处理 - 改装电话或处理它时可以“杀死”?是否必须对所谓的WakeLock做些什么?或者首先使用改造是不好的方法?我找不到任何有助于我理解的好文章或例子。
答案 0 :(得分:0)
听起来像SyncAdapter的工作。我从来没有经历过它被过早杀死,尽管它可以是任何东西。它已经在一个单独的进程上运行,因此无需调用.subscribeOn(Schedulers.io())
。该文档提供了一个准确描述您的用例的示例。 GCM通知后的含义同步。我不会在这里复制它,你会在上面的链接中找到它。
答案 1 :(得分:0)
我的解决方案:我使用Evernote的Android Job
库进行管理(还有FirebaseJob
选项 - 在FCM文档页面的代码示例中提到)。使用Android Job
我在收到推送通知后安排通话。不得不使用阻止RX呼叫,因此结果不会超过改装响应:https://github.com/evernote/android-job/wiki/FAQ#how-can-i-run-async-operations-in-a-job