バックグラウンドでサービス起動中に通知を表示する
- 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);
アイコンは、何も準備していなければ、デフォルトの何かを使って、動作確認できる。
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);
通知を消す
最終更新:2017年04月24日 23:58