ステータス通知
ここではアンドロイドのステータス通知 (Status Notifications) について説明します。
ステータス通知はシステムのステータスバーにアイコンを表示することによって、ユーザーの注意を引く通知方法です。
アイコンを表示するだけでなく、通知を表示する時に短い文字列 (チッカーテキスト) を表示することもでき、 さらに通知を選択することで、任意のアクティビティを開始することが可能です。
ステータス通知の実装方法
ここで作成するプログラムは次の通りです。
画面には "Show Notification" という文字の書かれたボタンが一つ配置されています。
このボタンを押すと、ステータスバーにアイコンと "Hello!" という文字が短時間表示されます。
少しの間 "Hello!" という文字が表示された後、文字が消えてアイコンがステータスバーに残ります。
ステータスバーの通知をドロップダウンして表示すると、Notifications カテゴリ内に通知があるのが分かります。タイトルは "Title"、内容は "Content Text" としています。
この通知を選択すると、ブラウザが起動され、"http://www.google.com/" にナビゲートされます。
この時、通知として表示されていたアイコンが削除されたことに注意してください。特に Clear を押さなくとも通知が消えています。
実装法方は次の通りです。
// 通知を選択した時のインテント
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("http://www.google.com/"));
PendingIntent pendingIntent
= PendingIntent.getActivity(
this,
0,
i,
0);
// 通知の作成
Notification notification =
new Notification(
R.drawable.ic_launcher,
"Hello!",
System.currentTimeMillis());
// 通知を選択した時に自動的に通知が消えるための設定
notification.flags = Notification.FLAG_AUTO_CANCEL;
// "Latest Event" レイアウトの設定
notification.setLatestEventInfo(
this,
"Title",
"Content Text",
pendingIntent);
// 通知マネージャの参照を取得
NotificationManager nm = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
// 通知!
nm.notify(NOTIFICATION_ID, notification);
Android 3.0 以降は Notification の作成に Notification.Builder を利用します。