Friday, September 6, 2013

ParameterValues from MvxViewModelRequest are only available from first notification

ParameterValues from MvxViewModelRequest are only available from first
notification

Regarding to this question, I implemented a plugin for a message service
similar like this:
var activity = Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity;
var context = activity.ApplicationContext;
var request = MvxViewModelRequest<MyViewModel>.GetDefaultRequest();
request.ParameterValues = new Dictionary<string, string> { {
"setId", setId.ToString() } };
var translator =
Mvx.Resolve<IMvxAndroidViewModelRequestTranslator>();
var intent = translator.GetIntentFor(request);
var pending = PendingIntent.GetActivity(context, 0, intent, 0);
var builder = new NotificationCompat.Builder(context)
.SetContentTitle(title)
.SetSmallIcon(Resource.Drawable.Icon)
.SetContentText(message)
.SetContentIntent(pending);
var notificationManager =
(NotificationManager)activity.ApplicationContext.GetSystemService(Context.NotificationService);
notificationManager.Notify(0, builder.Build());
The notification opens this ViewModel:
public class MyViewModel : MvxViewModel
{
...
public void Init(int setId){...}
...
}
The problem is, that myId in the ViewModel is always the Id from the first
notification, even though the ParemeterValues is updated correctly.
Any ideas?

No comments:

Post a Comment