看板 AndroidDev 關於我們 聯絡資訊
Mia謝謝您的解答,還有一個問題想請教您一下 我的鬧鐘觸發的method如下: private void fireTime(long firetime) { AlarmAnager alarm = (AlarmManager) getSystemService(ALARM_SERVICE); Intent i = new Intent(); i.setAction("go"); PendingIntent sender = PendingIntent.getBroadcast(this, 0 , intent, 0); alram.setRepeating(AlarmManager.RTC_WAKEUP, firetime, 5*1000, sender); } MyReceiver的onReceive如下: Intent i = new Intent(); if(intent.getAction().equals("go")) { Toast.makeText(context, "gogogo", Toast.LENGTH_LONG).show(); } Menifest也註冊了 <receiver android name = ".MyReciever"> <intent - filter> <action android:name = "go"> </intent - filter> </receiver> 但是run起來MyReceiver卻都沒收到廣播,不會執行Toast 我有哪個地方漏掉嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.134.150
hijamoya:確定你的context是誰... 有時候他根本不存在 你可以先用 07/19 19:03
hijamoya:LOG來看看他有沒有印出來 07/19 19:03
hijamoya:如果有的話就代表廣播是有 而只是toast的context的問題 07/19 19:03
sdyy:你receiver裡面怎麼會有Intent i = new Intent(); 07/19 22:32
sdyy:你這樣下面那行永遠都不會執行阿 07/19 22:33
sdyy:應該是直接接receiver的intent才對 07/19 22:34
ivanf10710:還很新聽不太懂S大說的,可以解釋一下嗎@@? 07/19 23:03
ivanf10710:感謝H大跟S大,兩位的回答剛好解決我的問題 07/20 00:06
ivanf10710:S大說的把new Intent()去掉我懂了!!是要以receiver 07/20 00:07
ivanf10710:的onRecieve()裡的intent來用才對 07/20 00:08
ivanf10710:收到以後就說現H大說得事情了,context是錯的 07/20 00:09
ivanf10710:我原本是設在按下Button才會發送廣播,但是他一RUN起來 07/20 00:09
ivanf10710:就直接show Toast了-.-但是我還沒解決context的問題 07/20 00:10