Я использую уведомление Azure Hub.Я разрабатываю свое приложение в Xamarin.Forms
.Для Android я могу получить уведомление, когда я проверяю его попадания для отладки, и я могу показать DisplayAlert
для этого.
Но я не могу показать его как уведомление.Я искал и после android oreo я должен создать канал уведомлений.
Но я не знаю, как это сделать.Они говорят, что вы должны создать идентификатор уведомления в вашем strings.xml
, но у меня нет файла strings.xml.Я не знаю, как это сделать, кто-нибудь может помочь?
internal static readonly string CHANNEL_ID = "cross_channel";
void CreateNotification(string title, string desc)
{
var notificationManager = GetSystemService(Context.NotificationService)
as NotificationManager;
var uiIntent = new Intent(this, typeof(MainActivity));
var pendingIntent = PendingIntent.GetActivity(this, RandomGenerator(), uiIntent, PendingIntentFlags.OneShot);
var notification = new Notification(Android.Resource.Drawable.ButtonMinus, title)
{
Flags = NotificationFlags.AutoCancel
};
notification.SetLatestEventInfo(this, title, desc,
PendingIntent.GetActivity(this, 0, uiIntent, 0));
if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
{
var channel = new NotificationChannel(CHANNEL_ID,
"Cross Notifications",
NotificationImportance.High);
notificationManager.CreateNotificationChannel(channel);
string channelId = "Cross Channel";
var notBuilder = new Notification.Builder(Application.Context, CHANNEL_ID).SetContentTitle(title).SetContentText(desc).SetSmallIcon(Android.Resource.Drawable.StarBigOn).SetAutoCancel(true);
notificationManager.Notify(1, notBuilder.Build());
channel.Description = (desc);
notBuilder.SetChannelId(channelId);
}
notificationManager.Notify(RandomGenerator(), notBuilder.Build());
}