2011年5月23日月曜日

Android Notificationで通知をする

Notificationを使って通知してみる。Notificationとはステータスバーに表示されるヤツ。

簡単にサンプル。

※2012/8/19 追記
deprecated。Notification.Builder版はこちら→『Android Notificationで通知をする 2

        mNotifyButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Intent intent = new Intent(MainActivity.this,
                        MainActivity.class);
                PendingIntent contentIntent = PendingIntent.getActivity(
                        MainActivity.this, 0, intent, 0);

                Notification notification = new Notification(R.drawable.icon,
                        "tickerText", System.currentTimeMillis());
                notification.setLatestEventInfo(MainActivity.this,
                        "contentTitle", "contentText", contentIntent);

                NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                nm.notify(1, notification);
            }
        });
contentIntentはnotificationタップして起動するintentを指定する。各メッセージがどこに表示されるかは画像参照。

キャンセルしてやらないとステータスバーから消えないな。cancelはnotifyで指定したIDを指定して通知をキャンセル。
        NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        mNotificationManager.cancel(1);
通知画面でタップされれば勝手に消えるんではないのね。