Re: [問題] 請問該如何建置每週重復的AlarmManager

看板AndroidDev作者 (Ivan)時間12年前 (2012/07/19 16:19), 編輯推噓1(1012)
留言13則, 3人參與, 最新討論串3/4 (看更多)
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

07/19 19:03, , 1F
確定你的context是誰... 有時候他根本不存在 你可以先用
07/19 19:03, 1F

07/19 19:03, , 2F
LOG來看看他有沒有印出來
07/19 19:03, 2F

07/19 19:03, , 3F
如果有的話就代表廣播是有 而只是toast的context的問題
07/19 19:03, 3F

07/19 22:32, , 4F
你receiver裡面怎麼會有Intent i = new Intent();
07/19 22:32, 4F

07/19 22:33, , 5F
你這樣下面那行永遠都不會執行阿
07/19 22:33, 5F

07/19 22:34, , 6F
應該是直接接receiver的intent才對
07/19 22:34, 6F

07/19 23:03, , 7F
還很新聽不太懂S大說的,可以解釋一下嗎@@?
07/19 23:03, 7F

07/20 00:06, , 8F
感謝H大跟S大,兩位的回答剛好解決我的問題
07/20 00:06, 8F

07/20 00:07, , 9F
S大說的把new Intent()去掉我懂了!!是要以receiver
07/20 00:07, 9F

07/20 00:08, , 10F
的onRecieve()裡的intent來用才對
07/20 00:08, 10F

07/20 00:09, , 11F
收到以後就說現H大說得事情了,context是錯的
07/20 00:09, 11F

07/20 00:09, , 12F
我原本是設在按下Button才會發送廣播,但是他一RUN起來
07/20 00:09, 12F

07/20 00:10, , 13F
就直接show Toast了-.-但是我還沒解決context的問題
07/20 00:10, 13F
文章代碼(AID): #1G1yCdoR (AndroidDev)
文章代碼(AID): #1G1yCdoR (AndroidDev)