package jp.mixi.sample.notification;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent(this, SubActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
Notification notification = builder
// 通知の日時
.setWhen(System.currentTimeMillis())
// 通知のタイトル
.setContentTitle("通知だヨ!")
// 通知の詳細メッセージ
.setContentText("通知の詳しい内容をここに書きます。")
// 通知のアイコン
.setSmallIcon(R.drawable.ic_launcher)
// 通知を表示した瞬間、通知バーに表示するショートメッセージ
.setTicker("通知だヨ!")
// 通知をタップした時に使う PendingIntent
.setContentIntent(pendingIntent)
// この通知が未だ表示されていない時だけ、音やバイブレーション、ショートメッセージの表示を行う
.setOnlyAlertOnce(true)
// タップしたら消えるようにする
.setAutoCancel(true)
.build();
// 直接インスタンス化せず、Context を経由してインスタンスを取得する
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// 通知の種類に応じて id を割当てることが出来る。
// id の異なる通知は違うものとして扱われる。
manager.notify(0, notification);
}
}