C# 推送通知和MVVMCross
我们在使用MVVMCross在Android上处理通知时遇到问题 我实现了默认的C# 推送通知和MVVMCross,c#,push-notification,xamarin.android,mvvmcross,C#,Push Notification,Xamarin.android,Mvvmcross,我们在使用MVVMCross在Android上处理通知时遇到问题 我实现了默认的void CreateNotification(),但是当我们点击通知中心中的通知时,onCreate()失败,出现以下异常: System.NullReferenceException:对象引用未设置为实例 物体的形状 我们正在使用的代码: var notificationManager = (NotificationManager)GetSystemService(NotificationService); /
void CreateNotification()
,但是当我们点击通知中心中的通知时,onCreate()
失败,出现以下异常:
System.NullReferenceException:对象引用未设置为实例
物体的形状
我们正在使用的代码:
var notificationManager = (NotificationManager)GetSystemService(NotificationService);
//Create an intent to show ui
var uiIntent = new Intent(this, typeof(HomeView));
var notification = new Notification(Android.Resource.Drawable.StarOn, title);
notification.Flags = NotificationFlags.AutoCancel;
notification.SetLatestEventInfo(this, title, desc, PendingIntent.GetActivity(this, 0, uiIntent, PendingIntentFlags.UpdateCurrent));
notificationManager.Notify(1, notification);
此示例中的HomeView类型为:
公共抽象类MvxBindingActivityView:
Cirries.MvvmCross.Droid.Views.MVX活动视图
其中TViewModel:class,cirries.MvvmCross.Interfaces.ViewModels.IMvxViewModel
Cirries.MvvmCross.Binding.Droid.Views的成员
谁能帮我们解决这个问题
谢谢,
Christian在没有任何跟踪或调用堆栈信息的情况下提供NullReference异常是在要求进行“长时间”猜测。。。如果可以,请尝试提供更多内容-例如捕获异常并跟踪调用堆栈和/或查看输出窗口或monitor.bat跟踪 话虽如此,我喜欢远射。。。我怀疑您的问题在于显示活动的方式—要显示MVX活动,您需要在您的意图附加中提供序列化的MVXViewModlerRequest—最简单的方法是在MvxNavigatingObject(vNext中的MvxApplicationObject)上使用ShowViewModel API。或者,您可以使用实现
https://github.com/slodge/MvvmCross/blob/vnext/Cirrious/Cirrious.MvvmCross.Droid/Interfaces/IMvxAndroidViewModelRequestTranslator.cs
-您可以使用IoC获取此信息
我希望猜测是正确的-如果不是,那么请堆栈跟踪和日志输出:)
斯图尔特你对我的问题猜对了。正如您所说,我们没有使用MvxViewModelRequest。当我们现在尝试这一点时,我们发现当应用程序已经运行时,这一点非常有效!仅当设备重新启动且应用程序未启动时,“CreateIntentFor”调用才会因nullreference错误而崩溃。你需要堆栈跟踪还是喜欢这个长镜头?>“你需要堆栈跟踪吗?”-听起来你应该做一些工作和调查。你为什么不看看它,试着调试一下呢?