Androidの通知にスタイルを適用する方法 | Xamarin.Forms
- 2017/07/17
- 17:00
以前の記事でAndroidのローカル通知を送る方法をご紹介しました。今回はその通知にスタイルを適用して、画像を表示したり、長い文章を表示したり、箇条書きを表示することができますので、その方法につきましてここにご紹介したいと思います。
前提条件
・Windows10 Pro 64Bit
・Visual Studio 2015 Community Update3
・Xamarin 4.3.0.795 (NuGet Xamarin.Forms 2.3.4.247)
・Androidバージョン4.1以降
1.Androidプロジェクトの実装方法
以前の記事でご紹介しましたDependencyServiceでの記述に追記するだけでとても簡単です。NotificationService.cs
NotificationManager manager = (NotificationManager)_context.GetSystemService(Context.NotificationService);
//(1)BigPictureStyle を適用する場合
NotificationCompat.BigPictureStyle bigPictureStyle = new NotificationCompat.BigPictureStyle(builder);
Bitmap image = BitmapFactory.DecodeResource(Android.App.Application.Context.Resources, Resource.Drawable.icon180);
bigPictureStyle.BigPicture(image);
bigPictureStyle.SetBigContentTitle("BigContentTitle------------------------------------------------------------------------------------>");
bigPictureStyle.SetSummaryText("SummaryText-------------------------------------------------------------------------------------------->");
manager.Notify(id, bigPictureStyle.Build());
//(2)BigTextStyle を適用する場合
NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle(builder);
bigTextStyle.BigText("BigText------------------------------------------------------------------------------------------------------->");
bigTextStyle.SetBigContentTitle("BigContentTitle------------------------------------------------------------------------------------>");
bigTextStyle.SetSummaryText("SummaryText-------------------------------------------------------------------------------------------->");
manager.Notify(id, bigTextStyle.Build());
//(3)InboxStyle を適用する場合
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle(builder);
inboxStyle.SetBigContentTitle("BigContentTitle------------------------------------------------------------------------------------>");
inboxStyle.SetSummaryText("SummaryText-------------------------------------------------------------------------------------------->");
for (int i = 0; i < 10; i++)
{
inboxStyle.AddLine("Line" + (i + 1) + "--------------------------------------------------------------------------------------->");
}
manager.Notify(id, inboxStyle.Build());
2.通知の表示結果について
(1)BigPictureStyleでは画像は表示されますが、SummaryTextが途中で切れています。(省略表示)(2)BigTextStyleではBigTextで長い文章が表示できるようです。他の項目は途中で表示が切れています。(省略表示)
(3)InboxStyleでは7行目まで箇条表示できるようです。文字数が長い場合は途中で切れています。(省略表示)
※いずれのスタイルも通知の一番上に表示された場合のみ表示されます。2番目以降に表示されている状態ではスタイルを適用する前の設定の内容で表示されます。
また、残念ながら画像も表示できて、長い文章も表示できるスタイルは無いようです。
最後までお読みいただきありがとうございます。
当ブログの内容をまとめた Xamarin逆引きメニュー は以下のURLからご覧になれます。
http://itblogdsi.blog.fc2.com/blog-entry-81.html
- 関連記事