Pocket

Android 8.0 (APIレベル26)から、通知のチャンネル指定が必要になりました。

この記事では、従来のNotification処理に、チャンネルを追加する方法を説明します。

res/values/strings.xml

チャンネルIDとチャンネル名を定義します。

リソース名 "default_notification_channel_id" や、その値 "Information"は任意です。

リソース定義は必須ではなく、APIの引数に、文字列を直接書いてもいいです。

MyApplicationクラスでチャンネル登録

通知をする前に、チャンネル登録します。一回だけチャンネル登録すればいいので、MyApplicationクラスで呼ぶことにします。なお、チャンネル登録は何回呼んでも問題ないようです。

通知

従来のNotification処理が次のようなものだとします。

notificationBuildメソッドを、SDK_INT <= 25、SDK_INT >= 26の場合に分けます。

スクリーンショット

アプリ情報>通知。登録したチャンネル名「Information」が表示されていました。

アプリ情報>通知:チャンネル名「Information」