Android > 通知(Notification)

下位ページ

Content


バックグラウンドでサービス起動中に通知を表示する

NotificationManager.notifyにNotificationオブジェクトを渡す。Notificationオブジェクトの生成は、Builderクラスを用いたほうが簡単?
Androidで通知バーに表示する | AutumnColor.com
AndroidでNotificationをまた実装するときのメモ | Qiita

  • Notification.Builderオブジェクト(builder)を作成
  • builderにアイコン、タイトル、メッセージを設定
  • builderからNotificationオブジェクト(notification)を作成
  • グローバルなNotificationManagerオブジェクト(manager)にインスタンスを渡す。
    • もしもローカルに設定したらどうなるんだろう。
  • manager.notifyで通知を出す。
  • manager.cancelで通知を消す。
    • notify, cancel それぞれで ID を指定できるので、複数出したらこれで制御する

Nofificationオブジェクトを作成する

NotificationCompat.Builder を作成し、通知内容を準備したあと、Notificationオブジェクトを作る。
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());

このあと、通知バーに載せる情報を設定する。最低限必要なものはアイコンだけらしい。が、タイトルと説明文も必要。そして、さらに必要なものをセットする。

セットしたあと、オブジェクトにする。
Notification notification = builder.build();

NoficationManagerで通知を出す

NotificationManagerCompat manager = NotificationManagerCompat.from(getApplicationContext());
manager.notify(NOTIFICATION_MINIMUM_ID, notification);
Compat は互換性(Compatible)
notify - NotificationManager | Android Developers

アイコンは、何も準備していなければ、デフォルトの何かを使って、動作確認できる。
builder.setSmallIcon(android.R.drawable.ic_dialog_info);

NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());
builder.setSmallIcon(android.R.drawable.ic_dialog_info);    // android.R.drawable.ic_dialog_info はデフォルトダミー
builder.setContentTitle("通知タイトル");   // 通知タイトル
builder.setContentText("通知メッセージ");    // 通知メッセージ
Notification notification = builder.build();  // (5)
manager = NotificationManagerCompat.from(getApplicationContext());
manager.notify(NOTIFICATION_ID, notification);

通知を消す

NotificationManagerCompat.cancel で消す
cancel - NotificationManager | Android Developers
最終更新:2017年04月24日 23:58