Мой Xamarin. При уведомлении Android все приложение становится пустым при нажатии.У меня typeof
установлено значение Fragment
, что привело к тому, что уведомление вообще не запускало мое приложение.
Вот код, который я использую для генерации моих уведомлений:
public static int _count = 0;
public async void SendNotifications()
{
await Task.Run(() =>
{
var _ctx = Android.App.Application.Context;
//I've also tried setting the bundle to MainActivity existing bundle with no change
//Bundle _bundle = MainActivity._bundle;
var valuesForActivity = new Bundle();
valuesForActivity.PutInt(MainActivity.COUNT_KEY, _count);
//I'd eventually like to pass a url string foreach notification but have
// disabled this line for the sake of simplicity.
//valuesForActivity.PutString(_main._notificationString, "https://bitchute.com/subscriptions/");
// When the user clicks the notification, MainActivity will start up.
// This line works, but it causes the app to go blank
var resultIntent = new Intent(_ctx, typeof(MainActivity));
// Pass some values to MainActivity:
resultIntent.PutExtras(valuesForActivity);
// Construct a back stack for cross-task navigation:
var stackBuilder = Android.Support.V4.App.TaskStackBuilder.Create(_ctx);
//stackBuilder.AddParentStack(Class.FromType(typeof(MainActivity)));
stackBuilder.AddNextIntent(resultIntent);
_fm5.GetPendingIntent();
// Create the PendingIntent with the back stack:
var resultPendingIntent = stackBuilder.GetPendingIntent(0, (int)Android.App.PendingIntentFlags.UpdateCurrent);
foreach (var note in ExtNotifications._customNoteList)
{
// Build the notification:
var builder = new Android.Support.V4.App.NotificationCompat.Builder(_ctx, MainActivity.CHANNEL_ID)
.SetAutoCancel(true) // Dismiss the notification from the notification area when the user clicks on it
.SetContentIntent(resultPendingIntent) // Start up this activity when the user clicks the intent.
.SetContentTitle(note._noteType) // Set the title
.SetNumber(_count) // Display the count in the Content Info
.SetSmallIcon(Resource.Drawable.bitchute_notification2) // This is the icon to display
.SetContentText(note._noteText);
// Finally, publish the notification:
var notificationManager = Android.Support.V4.App.NotificationManagerCompat.From(_ctx);
notificationManager.Notify(MainActivity.NOTIFICATION_ID, builder.Build());
_count++;
}
});
}
Текст уведомления генерируется из этого кода:
https://github.com/hexag0d/BitChute_Mobile_Android_BottomNav/blob/CookieShare/Classes/ExtNotifications.cs
Что я действительно хотел бы сделать, это загрузить URL-адрес в один из моих фрагментов, передав его вуведомление, но на первом этапе мое приложение не гаснет при нажатии на уведомление;Может кто-нибудь сказать мне, что я здесь не так сделал?
Кроме того, я не использую firebase;Я просто использую API уведомлений vanilla Android и предпочел бы сделать его как можно более простым.
РЕДАКТИРОВАТЬ: я забыл упомянуть, что я также пытался установить android:launchMode="singleInstance"
в манифесте приложения кака также singleTop
и другие.Это не сработало.