作者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