Android同一应用多个service间传值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android同一应用多个service间传值相关的知识,希望对你有一定的参考价值。
我一个应用程序包含两个Service,分别是A和B,B是由A通过startService()方法开启的。现在要从A给B传值,但是intent.putExtra()和intent.getIntExtra()方法好像不管用,所以想请问一下各位大佬,如何实现这一传值。
参考技术A 你可以参考音乐播放器去做service每次改变去通知activity中的进度条更新一次中间通信应该用到BroadcastReceiver先好好研究研究多媒体播放器吧追问因为一些运行效率上的原因,想暂时不用广播的方式传值,请问老哥还有没有其他的方法
小程序实践:页面间传值
两种常用方式。
一、URL传值
看下官方API文档:
官方提供了5种页面间的跳转方式,其中前四种跳转的时候带有url参数,用于指定跳转的页面地址,而其中前三种url中可以带有参数。
以此来实现页面跳转时候的参数传值。
1、页面传基本数据格式的方式
将参数添加到url部分
以 ?属性名=属性值 的形式添加 , 多个参数用&连接
示例:
跳转前页面代码:
跳转后页面代码:
控制台信息:
2、页面传对象的方式
测试将对象作为参数传递的话,接受页面时接收不到值的。
解决办法就是先将对象转为Json字符串,接受页面接收到字符串之后再转为对象即可。
对象转Json字符串:JSON.stringify(对象)
Json字符串转对象:JSON.parse(String)
示例:
跳转前页面代码:
跳转后页面代码:
控制台信息:
二、全局APP对象传值
这个就很好理解了,就是有一个全局的对象,获得方式就是getApp
可以在任何页面使用,所以在要在传值也面前赋值,接受页面读取即可
赋值:
取值:
注意:规划好全局属性值,不可滥用
--------------------------------------------------------------------------------------
以上是关于Android同一应用多个service间传值的主要内容,如果未能解决你的问题,请参考以下文章