通知をだしたり、通知のタップでアプリの起動する方法を簡単に知りたい人向け。
通知を出す方法。また通知をタップすることでActivityを表示させることができる。
基本的にはnotificationからBuilderを取得し、いろいろ設定したらbuild()してManagerに渡す。
pendingIntentを設定するだけ
通知を出す方法。また通知をタップすることでActivityを表示させることができる。
基本的にはnotificationからBuilderを取得し、いろいろ設定したらbuild()してManagerに渡す。
//通知の最小構成 これらがないとエラー Chennelは識別する数値
val notifiManager: NotificationManagerCompat = NotificationManagerCompat.from(this)
val notification: Notification = NotificationCompat.Builder(this, "CannelID").run {
setContentTitle("nullpo")
setContentText("text1")
setSmallIcon(android.R.drawable.sym_def_app_icon)
build()
}
//第一引数は通知を識別する数値 後から同じ数値で通知すると内容を更新したり
//表示を削除したりすることができる
notifiManager.notify(99, notification)
pendingIntentを設定するだけ
//タップで戻るページを設定しておく
//第二引数はpendingintentを識別するコード タイマーを複数セットするとかのときは別々にする
//第四引数は振る舞いを定義する
//FLAG_CANCEL_CURRENT 同じrequestCodeのPendingIntentが存在したら、キャンセルして新しく作る
//FLAG_NO_CREATE 同じrequestCodeのPendingIntentが存在したらそれを返す。なければNul
//FLAG_ONE_SHOT 同じrequestCodeだった場合すでに作られているPendingIntentを返す。なければ作る
//FLAG_UPDATE_CURRENT 同じrequestCodeのPendingIntentが存在したらそれをつかうがputExtraの値は更新する
val pending: PendingIntent = PendingIntent.getActivity(this, 0, Intent(this, MainActivity::class.java),0)
val notifiManager: NotificationManagerCompat = NotificationManagerCompat.from(this)
val builder: NotificationCompat.Builder = NotificationCompat.Builder(this, "CannelID").apply {
setContentTitle("nullpo")
setContentText("text1")
setSmallIcon(android.R.drawable.sym_def_app_icon)
setContentIntent(pending)
}
notifiManager.notify(99, builder.build())