私に学んで
4043 ワード
Notificationは通知の意味として理解できます.通知欄に表示されます.例えば、メールが来ました.
Notificationを使用するには、次の3つのステップがあります.
1.NotificationManagerのオブジェクトの作成
2.Notificationのプロパティの設定
3.Notifyを使用して通知を送信
例:通知を発行する
この方法では,ボタンであるイベントを呼び出し,プログラムを実行した後,ボタンをクリックすると通知が送信されるように設定できる.レイアウトファイルと関連するコードはここでは作成されていません.
PendingIntentはIntentのパッケージであり、ここではIntentを起動する説明であり、PendingIntent.getActivityが返すPendingIntentは
このPendingIntentインスタンスのIntentは、Activityを起動するためのIntentです.
PendingIntent.getActivityのパラメータは、Context、送信者のリクエストコード(0を記入可能)、システム送信用のIntent、フラグビットの順です.
そのうちPendingIntent.FLAG_UPDATE_CURRENT この記述のPendingIntentが既に存在する場合、既に存在するPendingIntentのExtraデータを新しいPendingIntentのExtraデータに変更することを示す.
IntentとPendingIntentの違い:
Intent:私が何をするかをシステムに伝え、このIntentに基づいて対応することを意図しています.startActivityはメッセージの送信に相当し、Intentはメッセージの内容である.
PendingInent:Inentを包装し、InentはstartActivity、startService、sendBroadcastを直接使用して作業を開始する意図です.
場合によっては、startActivity、startServices、sendBroadcastを直接呼び出すのではなく、プログラムまたはシステムが条件に達してからIntentを送信することはできません.
ここのNotificationのように、ユーザーがNotificationをクリックすると、ActivityのIntentがシステムから発行されます.だから私たちが何らかの方法でシステムに伝える必要がなければ、システムはstartActivityを使うことを知らないので、
startServiceはsendBroadcastでIntentを起動する(もちろん他の「説明」もある)ため、ここではPendingIntentが必要です.
Notificationを使用するには、次の3つのステップがあります.
1.NotificationManagerのオブジェクトの作成
2.Notificationのプロパティの設定
3.Notifyを使用して通知を送信
例:通知を発行する
1 /**
2 * notify
3 */
4 private void createNotify() {
5 // NotificationManager
6 NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
7 // notifyCation
8 Notification notify = new Notification();
9 notify.icon = R.drawable.icon_reply;//
10 notify.when = System.currentTimeMillis();// ,
11 notify.tickerText = "hi, ";//
12 notify.flags = Notification.FLAG_AUTO_CANCEL;//
13 Intent intent = new Intent(this, NextActivity.class);
14 PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent,
15 PendingIntent.FLAG_UPDATE_CURRENT);
16 notify.setLatestEventInfo(this, " ", " ", pIntent);
17 manager.notify(10, notify);// ,10 id
18 }
この方法では,ボタンであるイベントを呼び出し,プログラムを実行した後,ボタンをクリックすると通知が送信されるように設定できる.レイアウトファイルと関連するコードはここでは作成されていません.
PendingIntentはIntentのパッケージであり、ここではIntentを起動する説明であり、PendingIntent.getActivityが返すPendingIntentは
このPendingIntentインスタンスのIntentは、Activityを起動するためのIntentです.
PendingIntent.getActivityのパラメータは、Context、送信者のリクエストコード(0を記入可能)、システム送信用のIntent、フラグビットの順です.
そのうちPendingIntent.FLAG_UPDATE_CURRENT この記述のPendingIntentが既に存在する場合、既に存在するPendingIntentのExtraデータを新しいPendingIntentのExtraデータに変更することを示す.
IntentとPendingIntentの違い:
Intent:私が何をするかをシステムに伝え、このIntentに基づいて対応することを意図しています.startActivityはメッセージの送信に相当し、Intentはメッセージの内容である.
PendingInent:Inentを包装し、InentはstartActivity、startService、sendBroadcastを直接使用して作業を開始する意図です.
場合によっては、startActivity、startServices、sendBroadcastを直接呼び出すのではなく、プログラムまたはシステムが条件に達してからIntentを送信することはできません.
ここのNotificationのように、ユーザーがNotificationをクリックすると、ActivityのIntentがシステムから発行されます.だから私たちが何らかの方法でシステムに伝える必要がなければ、システムはstartActivityを使うことを知らないので、
startServiceはsendBroadcastでIntentを起動する(もちろん他の「説明」もある)ため、ここではPendingIntentが必要です.