У меня проблема с привязкой событий кликов к виджету приложения с Xamarin Android.Клики работают и запускают действие, но информация, переданная для дифференциации виджетов, не работает.Похоже, что одно и то же намерение регистрируется для всех экземпляров виджета.
Ниже приведен сокращенный пример кода, выполняющего привязку кликов из службы.Полный код также обновляет текст на виджетах.Эта часть работает нормально и отличается для каждого экземпляра виджета, поэтому я считаю, что общий шаблон обновления правильный.Это оставляет меня с намерением / ожиданием связывания намерения в качестве проблемы.Что-то не так с шаблоном, который я использую ниже?
public override StartCommandResult OnStartCommand(Intent intent, StartCommandFlags flags, int startId)
{
var manager = AppWidgetManager.GetInstance(this);
var ids = intent.GetIntArrayExtra(AppWidgetManager.ExtraAppwidgetIds);
foreach (var id in ids)
{
var widgetView = new RemoteViews(PackageName, Resource.Layout.SingleRateWidget);
var activityIntent = new Intent(this, typeof(ExchangesActivity));
activityIntent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask);
activityIntent.PutExtra("WidgetId", id);
var pendingIntent = PendingIntent.GetActivity(this, 0, activityIntent, PendingIntentFlags.UpdateCurrent);
widgetView.SetOnClickPendingIntent(Resource.Id.widgetBackground, pendingIntent);
manager.UpdateAppWidget(id, widgetView);
}
return StartCommandResult.Sticky;
}
Спасибо.