【问题标题】:GcmListenerService onMessageReceived allowed runtimeGcmListenerService onMessageReceived 允许运行时
【发布时间】:2016-05-11 07:27:35
【问题描述】:

GcmListenerService 为我们处理唤醒锁。 onMessageReceived 方法在线程池中运行(而不是在主 UI 线程上),因此似乎其意图是允许在此方法上执行长时间运行的任务。

我的问题是,当收到 GCM 时,此方法是否存在某种运行时限制。基本上,我想在运行此方法期间下载一些图像,然后向用户发布通知,并确保设备不会进入睡眠状态并完成其执行。

据我了解,GcmReceiver 和 GcmListenerService 为我们处理唤醒锁这一事实使我们能够在此方法上完成繁重的任务并确保它完成。这是真的吗?

【问题讨论】:

  • 如果您想在通知中发送图像,您可以发送 4kb 的数据负载。这样您就可以发送一个小于数据负载大小的缩略图。
  • @DevendraSingh,就此而言,假设我想做更多的网络调用。我主要想了解线程上允许的内容(即时间限制)
  • This 可以帮助你。因为它正在从外部服务器下载图像。

标签: android google-cloud-messaging


【解决方案1】:

希望答案还为时不晚,但是关于这个问题,是的,您可以执行长时间运行的进程(在您的情况下为 I/O),因为 GcmListenerService 类扩展了 android.app.Service 并且您仍然可以通知用户您正在后台处理某些内容并通过通知显示它的过程。

Android Documentation - Displaying a fixed-duration progress indicator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2017-04-16
    • 2012-05-21
    • 2016-11-07
    • 2011-11-10
    相关资源
    最近更新 更多