在不同的进程中进行通信我从一个在调用startService()
后被破坏的片段开始了前台服务,这是我不能使用ResultReceiver
或Messanger
的原因。所以选项仍然是PendingIntent
。如何使用PendingIntent在前台服务(在不同进程中托管)与任何活动/片段之间进行通信?服务和活动之间的通信使用不同的进程使用PendingIntent
1
A
回答
1
你有两个不同的问题:
你如何从服务过程中对UI处理数据?
如何从您为#1所做的任何操作获得数据的任何部分都需要该数据?
有任何数量的对#1的解决方案:PendingIntent
,ResultReceiver
,Messenger
,AIDL定义的回调用于绑定的服务连接等#2,则大多是使用事件总线或类似的东西的问题以提醒所有相关的Java对象有关新数据。
因此,举例来说,这里是使用这个PendingIntent
一个现成的,袖口配方:
实现一个
BroadcastReceiver
或在活动过程中,清单注册Service
,但没有<intent-filter>
作为调用
startService()
的一部分,创建使用PendingIntent
其getBroadcast()
或getService()
工厂方法,与Intent
标识您BroadcastReceiver
或Service
,并把该PendingIntent
一个额外的与使用Intent
startService()
你在其他流程服务,当它有数据要发送到活动过程中,calls
send()
on thePendingIntent
,包括Intent
有数据填充到广播或服务请求你
BroadcastReceiver
或步骤#1Service
需要交付给它的Intent
和使用事件总线,让您的活动过程的其余部分知道不管发生什么事情,也处理的情况下没有在活动公关(例如,如果所有活动都被破坏,则筹集Notification
)
相关问题
- 1. 如何使用PendingIntent从服务通信到客户端/活动?
- 2. Windows服务和网络服务之间的进程间通信
- 3. 示例:使用消息传送的活动和服务之间的通信
- 4. 服务器和移动应用程序之间的通信
- 5. android:在后台运行服务和活动之间的通信
- 6. 使用Amazon S3服务和Flash AS3的域之间的通信
- 7. 服务和活动通信
- 8. 使用共享的singelton类在活动和前台服务之间进行通信是可以接受的吗?
- 9. 在不同的线程,JVM和服务器之间使用Hibernate
- 10. 使用Windows服务和表单应用程序之间的套接字的进程间通信
- 11. 不同服务器上的Web服务之间的通信
- 12. 使用Amazon SWF在服务器之间进行通信
- 13. 如何使用XML在服务和表单之间进行正确的通信
- 14. 本地服务与线程和活动之间的同步
- 15. Apache和不同进程之间的通信
- 16. Android Auto - 后台服务与活动之间的通信
- 17. 活动与服务之间的Android通信
- 18. 在Windows服务和Exchange服务器之间进行通信
- 19. 进程之间的通信
- 20. 使用Perfect的多个服务器之间的通信
- 21. 使用GA库的进程间通信
- 22. C++和vb.net应用程序之间的进程间通信
- 23. 不同的.c文件之间的IPC进程间通信
- 24. Android服务间活动通信性能
- 25. 使用WCF服务的两个.Net应用程序之间的相互通信
- 26. 如何在使用非原始对象的活动之间进行通信
- 27. 不同活动之间的沟通
- 28. 服务与活动之间的沟通如何进行?
- 29. Android中的服务:通过通知在服务和活动之间的Parcelable ArrayList
- 30. 在不同计算机上的进程之间进行通信
感谢您的帮助!会试试这个。 – VishalKale
谢谢@CommonsWare。工作没有任何问题。在PendingIntent和BroadcastReceiver的帮助下从服务过程中获得数据。使用EventBus进一步将数据传输到UI组件。 – VishalKale