android应用程序之间的通信
我需要一些帮助,如何开始开发两个互相沟通的Android应用程序(在一个电话)。
- 应用程序A向应用程序B发送string
- 应用程序B收到string例如“startClassOne”,应用程序B使用方法启动classOne并获得结果。 结果被发回(再次作为string!)到应用程序A.
- 应用程序A在控制台中写入从B接收到的string。
你好,我需要一些帮助,如何开始开发两个互相沟通的Android应用程序(在一个电话)。
总的来说,你通常不希望人为地将一个应用程序分成两个,特别是如果你是两个人的作者。
这就是说,你可以:
- 应用程序B公开一个
IntentService
,它将通过应用程序A中的startService()
调用,结果通过PendingIntent
从createPendingResult()
或Messenger
或广播Intent
或ResultReceiver
; 要么 - 应用程序B使用AIDL中定义的API公开
Service
,并将应用程序A绑定到该服务,然后在应用程序B上使用应用程序A调用方法,或 - 从应用程序A向应用程序B发送一个广播
Intent
,结果通过上面第一个项目符号的相同选项名单传回,或者 - 让应用程序B实现一个内容提供者,并使应用程序A使用
ContentResolver
来操作该内容提供者 - 等等
请确保解决您所做的所有安全分歧,因为您不仅要暴露API才能使用应用程序A,还要为设备上的任何应用程序使用API,除非您使用权限来保护它。