Android IntentService注册回调
我想使用IntentService作为应用程序初始化组件。我想让它接收意图,调用GooglePlay服务,并在调用OnConnect()后做一些后台工作。正如谷歌的活动指南所示。 使用IntentService进行此类工作安全吗? 我想知道,因为OnHandleContent只是几行代码,所有的工作都必须在onConnected调用之后完成。那么-我是否理解正确?在完成OnHandle后,INTERNTSERVICE将被销毁,而不会执行任何操作?来自callbacking服务的NPE将被抛出? 只要调用onConnected,是否有可能保持IntentService的活动状态,或者我应该使用一些BroadcastReceiver+服务模式 使用IntentService进行此类工作安全吗 否。一旦Android IntentService注册回调,android,intentservice,google-play-services,Android,Intentservice,Google Play Services,我想使用IntentService作为应用程序初始化组件。我想让它接收意图,调用GooglePlay服务,并在调用OnConnect()后做一些后台工作。正如谷歌的活动指南所示。 使用IntentService进行此类工作安全吗? 我想知道,因为OnHandleContent只是几行代码,所有的工作都必须在onConnected调用之后完成。那么-我是否理解正确?在完成OnHandle后,INTERNTSERVICE将被销毁,而不会执行任何操作?来自callbacking服务的NPE将被抛出?
onHandleIntent()
返回,如果在此期间没有收到新命令,则服务将被销毁。尝试从IntentService
执行异步操作是不安全的,因为操作完成后,服务不仅会消失,而且整个进程可能会终止(与任何后台进程一样,尤其是没有运行服务的后台进程)
我应该使用广播接收器+服务模式吗
我不知道
BroadcastReceiver
部分,但当然欢迎您使用常规服务
。工作完成后,一定要调用stopSelf()
。感谢尝试从IntentService执行异步操作是不安全的。
我一直在拼命寻找它。@VirendraSingh:是的,可以使用IntentService
和同步操作,也可以使用Service
,异步操作,以及在所有后台工作完成后调用stopSelf()
的您自己的逻辑。