[問題] Service和Activity之間用Broadcast傳遞資料的問題

看板AndroidDev作者 (大熊)時間13年前 (2011/06/16 23:01), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
問題: 各位好,我有個問題想請問大家, 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

06/16 23:40, , 1F
MyService.getInstance().pushDataRepeating();
06/16 23:40, 1F

06/16 23:42, , 2F
看一下範例程式中的用法,試著把你寫在btn[5] listener
06/16 23:42, 2F

06/16 23:43, , 3F
的code 移到 MyService pushDataRepeating() 裡面試試
06/16 23:43, 3F

06/18 22:15, , 4F
謝謝幫忙!我先試試看~
06/18 22:15, 4F
文章代碼(AID): #1D-Xgo9e (AndroidDev)
文章代碼(AID): #1D-Xgo9e (AndroidDev)