[問題] 請問傳送通知類別?

看板AndroidDev作者 (懶懶熊)時間8年前 (2015/11/15 22:17), 編輯推噓0(0010)
留言10則, 2人參與, 最新討論串1/1
package com.myandroid.main; /* import相關class */ import java.util.Calendar; import java.util.StringTokenizer; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.BroadcastReceiver; import android.os.Bundle; import android.util.Log; /* 呼叫鬧鐘Alert的Receiver */ public class CallAlarm extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { /* create Intent,呼叫AlarmAlert.class */ String tepName = intent.getStringExtra("name"); String date = intent.getStringExtra("date"); String place = intent.getStringExtra("place"); String time = intent.getStringExtra("time"); String sclass = intent.getStringExtra("class"); final int notifyID = 1; // 通知的識別號碼 final int requestCode = notifyID; // PendingIntent的Request Code final Intent intent = getIntent(); // 目前Activity的Intent final int flags = PendingIntent.FLAG_CANCEL_CURRENT; // ONE_SHOT: PendingIntent只使用一次;CANCEL_CURRENT:PendingIntent執行前會先結束掉之前的; NO_CREATE:沿用先前的PendingIntent,不建立新的PendingIntent;UPDATE_CURRENT: 更新先前PendingIntent所帶的額外資料,並繼續沿用 final PendingIntent pendingIntent = PendingIntent.getActivity(context.getApplicationContext(), requestCode, intent, flags); // 取得PendingIntent final NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); // 取得系統的通知服務 final Notification notification = new Notification.Builder(context.getApplicationContext()).setSmallIcon(R.drawable.keepcon).setContentTitle(" 內容標題").setContentText(tepName + ", Time: " + date + " " + time + ", class:" + sclass + ", in place: " + place).setContentIntent(pendingIntent).build(); // 建立通知 notificationManager.notify(notifyID, notification); // 發送通知 } } 想要請問一下,這個callalarm.class類別他是要傳送通知的類別,是根據使用者設定的提 醒時間而傳送通知回去的,但是在callalarm.class的類別中 final Intent intent = getIntent(); // 目前Activity的Intent 這段程式碼寫是錯誤 是因為什麼原因呢?還是不能這麼用?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.58.10 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1447597049.A.805.html

11/16 14:18, , 1F
這是BroadcastReceiver,不是Activity,沒有getIntent
11/16 14:18, 1F

11/16 14:22, , 2F
另外onReceive的參數也有一個叫intent,變數名字重複了
11/16 14:22, 2F

11/16 19:57, , 3F
意思是不是沒有intent intent=getintent();這段程式碼
11/16 19:57, 3F

11/16 19:58, , 4F
的意思? 但是有試著把它隱藏起來 並沒有跑出通知
11/16 19:58, 4F

11/18 14:52, , 5F
這是個Receiver,所以你有發Broadcast給它嗎?
11/18 14:52, 5F

11/18 14:54, , 6F
另外onReceive參數的intent是Receiver收到的intent
11/18 14:54, 6F

11/18 14:54, , 7F
final Intent intent = getIntent(); 這行的intent是要帶
11/18 14:54, 7F

11/18 14:55, , 8F
進PendingIntent,也就是點通知後要執行的intent
11/18 14:55, 8F

11/18 14:55, , 9F
是不一樣的用途,你先看懂程式碼哪行是在做什麼吧...
11/18 14:55, 9F

11/18 22:19, , 10F
好的 感謝你的建議
11/18 22:19, 10F
文章代碼(AID): #1MI9FvW5 (AndroidDev)