作者frozen770401 (大熊)
看板AndroidDev
标题[问题] Service和Activity之间用Broadcast传递资料的问题
时间Thu Jun 16 23:01:04 2011
问题:
各位好,我有个问题想请问大家,
http://aliusa.iteye.com/blog/1066425
我照着这个网页的范例做些练习
我在Demo.java里面btn[5]的Listener里加了一段程式码,如下:
Intent intent=new Intent();
intent.setAction(MyService.ACTION);
intent.putExtra("KeyWord_1", SearchKey.getKeyWord());
Log.v(tag, SearchKey.getKeyWord());
sendBroadcast(intent);
myHandler.sendEmptyMessage(0);
MyService.getInstance().pushDataRepeating();
并且在MyService.java里的class MyReceiver里加了一段接收用的程式码:
int cmd=intent.getIntExtra("cmd", -1);
KeyWord=intent.getStringExtra("KeyWord_1");
switch (cmd) {
case MyService.SERVICE_STOP:
break;
case MyService.SERVICE_PUSH_DATA:
KeyWord=intent.getStringExtra("KeyWord_1");
pushDataImmediately();
break;
奇怪的是我用Log测试过,第一个KeyWord测出来数值没错,
但case里的KeyWord却会变null,而且这之间cmd还会从-1变成1
我程式码看了好几遍还是不懂会什麽会这样
可以请有经验的各位帮我解惑一下吗?
谢谢帮忙!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.244.26
1F:推 chronoer:MyService.getInstance().pushDataRepeating(); 06/16 23:40
2F:→ chronoer:看一下范例程式中的用法,试着把你写在btn[5] listener 06/16 23:42
3F:→ chronoer:的code 移到 MyService pushDataRepeating() 里面试试 06/16 23:43
4F:→ frozen770401:谢谢帮忙!我先试试看~ 06/18 22:15