android-如何在活动和本地服务之间来回发送数据

android-如何在活动和本地服务之间来回发送数据,第1张

概述我对Android有点陌生.我需要做的是在本地活动和服务之间来回发送数据.发送的信息是敏感信息,必须不能被其他应用接收.如果我理解正确,这将排除使用广播和onBind()函数吗?因此,活动需要向服务发送一些字符串参数.另外,它还需要以某种方式告诉服务哪个活动启动了该活动,以便该服务可以回复正确的类,因为许多不同的活动都将使用该服务.一旦服务通过http请求获

我对Android有点陌生.我需要做的是在本地活动和服务之间来回发送数据.发送的信息是敏感信息,必须不能被其他应用接收.如果我理解正确,这将排除使用广播和onBind()函数吗?

因此,活动需要向服务发送一些字符串参数.另外,它还需要以某种方式告诉服务哪个活动启动了该活动,以便该服务可以回复正确的类,因为许多不同的活动都将使用该服务.一旦服务通过http请求获取了信息,就应该将该数据(只是一个长字符串,稍后将对其进行解析)发送回启动它的活动.我该怎么做呢?不能使用静态变量/函数,因为许多活动人员将再次使用此服务.当然可以使用静态数组来保存类,但这看起来很难看……只能通过意图发送简单变量(而不是对象)吗?必须有更好的方法来做到这一点.我已经上网数小时了.任何帮助将不胜感激.

编辑

AndroID Developers [http://developer.android.com/reference/android/app/Service.html#stopSelf(int)]]上的示例为实现本地绑定程序提供了很大的帮助.

对于那些感兴趣的人,到目前为止,这里有一些有关我的实现的更多信息.

>一旦调用onServiceConnected函数,就会调用服务中的函数以设置其绑定到哪个活动.之后,服务和活动都可以相互来回交互.
>确保服务类中的线程具有处理程序.这使线程可以在完成任务后向其处理程序发送消息.然后,处理程序将结果从服务发送回其绑定活动.通过处理程序执行此 *** 作可确保完成此 *** 作后,应用程序又回到了主线程上.最佳答案

This excludes using broadcast and the onBind() function if I understand things correctly?

通过本地Binder在客户端和服务之间交换的数据是JVM中的本地方法调用.

如果您支持API级别4和更高级别,则还可以在Intent上使用setPackage()将广播安全地发送到特定的程序包.

How do I go about doing this?

将其他内容放在与startService()或bindService()一起使用的Intent上.或在本地活页夹上调用方法. 总结

以上是内存溢出为你收集整理的android-如何在活动和本地服务之间来回发送数据 全部内容,希望文章能够帮你解决android-如何在活动和本地服务之间来回发送数据 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1145381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存