Android IntentService注册回调

Android IntentService注册回调,android,intentservice,google-play-services,Android,Intentservice,Google Play Services,我想使用IntentService作为应用程序初始化组件。我想让它接收意图,调用GooglePlay服务,并在调用OnConnect()后做一些后台工作。正如谷歌的活动指南所示。 使用IntentService进行此类工作安全吗? 我想知道,因为OnHandleContent只是几行代码,所有的工作都必须在onConnected调用之后完成。那么-我是否理解正确?在完成OnHandle后,INTERNTSERVICE将被销毁,而不会执行任何操作?来自callbacking服务的NPE将被抛出?

我想使用IntentService作为应用程序初始化组件。我想让它接收意图,调用GooglePlay服务,并在调用OnConnect()后做一些后台工作。正如谷歌的活动指南所示。 使用IntentService进行此类工作安全吗? 我想知道,因为OnHandleContent只是几行代码,所有的工作都必须在onConnected调用之后完成。那么-我是否理解正确?在完成OnHandle后,INTERNTSERVICE将被销毁,而不会执行任何操作?来自callbacking服务的NPE将被抛出? 只要调用onConnected,是否有可能保持IntentService的活动状态,或者我应该使用一些BroadcastReceiver+服务模式

使用IntentService进行此类工作安全吗

否。一旦
onHandleIntent()
返回,如果在此期间没有收到新命令,则服务将被销毁。尝试从
IntentService
执行异步操作是不安全的,因为操作完成后,服务不仅会消失,而且整个进程可能会终止(与任何后台进程一样,尤其是没有运行服务的后台进程)

我应该使用广播接收器+服务模式吗


我不知道
BroadcastReceiver
部分,但当然欢迎您使用常规
服务
。工作完成后,一定要调用
stopSelf()

感谢
尝试从IntentService执行异步操作是不安全的。
我一直在拼命寻找它。@VirendraSingh:是的,可以使用
IntentService
和同步操作,也可以使用
Service
,异步操作,以及在所有后台工作完成后调用
stopSelf()
的您自己的逻辑。