我对Android有点新鲜。我需要做的是在本地活动和服务之间来回发送数据。发送的信息很敏感,不能被其他应用程序接收。如果我理解正确的话,这会排除使用广播和onBind()函数吗?
因此活动需要向服务发送一些字符串参数。此外,它还需要告诉服务哪个活动启动它,以便服务可以回复正确的类,因为许多不同的活动将使用此服务。一旦服务通过http请求获取信息,就可以将该数据(只是一个稍后将被解析的长字符串)发送回启动它的活动。我该怎么做呢?使用静态变量/函数不是一种选择,因为许多活动将再次使用此服务。当然可以使用静态数组来保存类,但这看起来很难看......只能通过意图发送简单变量(而不是对象)?必须有更好的方法来做到这一点。我在网上冲浪了好几个小时。任何帮助将不胜感激。
修改的
在Android开发者[http://developer.android.com/reference/android/app/Service.html#stopSelf(int)]上找到的示例对于实现本地绑定器有很大帮助。
对于那些感兴趣的人,到目前为止,有关我的实施的更多信息。
答案 0 :(得分:3)
如果我理解正确的话,这会排除使用广播和onBind()函数吗?
客户端和服务之间通过本地Binder
交换的数据是JVM中的本地方法调用。
如果您支持API级别4及更高版本,则还可以setPackage()
使用Intent
将广播安全地发送到特定包。
我该怎么做?
在您使用Intent
或startService()
的{{1}}上添加额外内容。或者在本地bindService()
上调用方法。