Android am命令传递参数

转:http://blog.163.com/shao_yuru/blog/static/130517606201222594621572/


这篇文章对am命令的解释较为详细:http://blog.csdn.net/sunrock/article/details/5675067
在此补充一下使用am命令启动Activity并传递参数的方法,也能用作C层与Java进行数据传递的一种手段。

比如,我们要启动的Acitvity所在的app是net.yurushao.demo,需要启动的是其中的ExampleActivity,并给他传递两个参数:
1. pid 整数,值为10
2. str 字符串,"hello, world"

那么,完整的命令为(在Android Shell中执行):

am start -a android.intent.action.MAIN -n \
net.yurushao.demo/net.yurushao.demo.ExampleActivity \
 --ei pid 10 --es str "hello, world"


简单说明一下,--ei表示参数类型为整型(extra integer),--es表示参数的类型为字符串(extra string),然后它们后面分别跟一个键值对,标识参数名和具体值。需要其他类型可以参考开头提到的那篇文章或者使用 am -h 查看帮助。

在ExampleActivity中获取传递来的参数也非常简单,在onCreate回调函数中添加:
[java]
Intent intent = getIntent();
int pid = intent.getIntExtra("pid", -1); // 第二个参数为default value
String str = intent.getStringExtra("str");
[/java]

然后在AndroidManifest.xml中表示ExampleActivity的标签下,添加并接受android.intent.action.MAIN

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值