android - 从广播接收器启动异步任务

标签 android android-c2dm

我想知道从广播接收器启动异步任务是否被认为是一种不好的做法?我基本上注册了谷歌的 C2DM 服务器,然后当我拦截注册的广播接收器时,我想将它发送到我的服务器。

实现此目标的最佳方法是什么?

最佳答案

是的,这被认为是不好的做法。这是因为如果您从 BroadcastReceiver 启动 AsyncTask,如果 onReceive() 返回并且没有其他 Activity 组件在运行,Android 可能会终止您的进程。

正确的方法是从BroadcastReceiver 启动Service。而这个 Service 应该管理 AsyncTask。这样 Android 就会知道 Activity 组件并且 Android 不会过早地杀死它(除非出现其他关键情况,例如内存不足的情况)。

关于android - 从广播接收器启动异步任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7900373/

相关文章:

java - Android SDK logcat 是否按照创建自定义 Log.d() 消息的顺序显示它们?

android - 通过 wifi 创建组

android - 如何折叠 Android 通知?

c++ - 什么是网络挠痒痒?我该如何发送一个?

android - 自己的 Android 应用中的 Google+ 推送通知

android - Android webrtc 上的 Ice-Lite

android - 调试使用 vs-android 构建的 Android 原生应用程序

android - 找出谁将 READ_PHONE_STATE 添加到我的 list 文件中?

android - android 可以在 GCM 和 C2DM 上工作吗?

android - 为什么 Android C2DM 推送消息不总是到达?