BETA

Androidの通知で長文の表示に対応する

投稿日:2019-08-15
最終更新:2019-08-15

ボタンを押したら通知が届くイメージ

TD;TL

NotificaitonのStyleにNotificationCompat.BigTextStyle()を使用する

基本の実装

コード

class MainActivity : AppCompatActivity() {  

    override fun onCreate(savedInstanceState: Bundle?) {  
        super.onCreate(savedInstanceState)  
        setContentView(R.layout.activity_main)  

        notification.setOnClickListener {  
            val notificationManager = getSystemService<NotificationManager>()  
            val channelId = "notification test channel"  

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {  
                // Oreo以上ならチャンネルを作る  
                val channelName = "Test Channel"  
                val channelDescription = "Test Channel Description"  
                val channel = NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_HIGH).also {  
                    it.description = channelDescription  
                }  
                notificationManager?.createNotificationChannel(channel)  
            }  

            val notification = NotificationCompat.Builder(applicationContext, channelId).also {  
                it.setSmallIcon(R.drawable.ic_launcher_background)  
                it.setContentTitle("タイトル")  
                it.setContentText("内容")  
            }.build()  

            notificationManager?.notify(1, notification)  
        }  
    }  
}  

画像

通常 contentTextが長いver

contentTextが長いと途中から...で省略されてしまう
通知をタップしても、下にスワイプしても全文表示されることはない

長文の通知でも全文表示できる実装

notificationのstyleにNotificationCompat.BigTextStyle()を使用する

コード

val content = "内容"  
val notification = NotificationCompat.Builder(applicationContext, channelId).also {  
        it.setSmallIcon(R.drawable.ic_launcher_background)  
        it.setContentTitle("タイトル")  
        it.setContentText(content)  
        it.setStyle(  
                NotificationCompat.BigTextStyle().bigText(content)  
        )  
}.build()  

画像

通常 contentTextが長いver

最初から長文で表示される

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@kichinagaの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう