我正在尝试使用NFC和MvvmCross。所以我创建了一个IntentFilter
,如下所示:
[IntentFilter(new[]{"android.nfc.action.NDEF_DISCOVERED"},
Categories = new[] {"android.intent.category.DEFAULT"},
DataScheme = "bksv-resource", DataHost = "nmt")]
在OnResume
我正在寻找Intent
类型NfcAdapter.ActionNdefDiscovered
的动作。发生的是当发现NDEF时,创建Activity并使用里面的数据设置Intent。所有这些在Activity
中工作正常,但是在想要使用MvxActivity
或MvxFragmentActivity
时会出现问题。
问题是,当MvxActivity
重新创建时,base.OnCreate()
调用没有给出ViewModel
并且没有给出任何理由,只显示如下输出:
mvx:Diagnostic: 6.09 Loading new ViewModel from Intent with Extras
mvx:Warning: 6.13 ViewModel not loaded for view ScanView
我不完全确定如何为ViewModel
找到View
,但是,在这种情况下似乎找不到它。为什么会这样?我需要自定义应用程序启动吗?
答案 0 :(得分:6)
MvvmCross从传入的Intent
你可以:
Intent
s
如果您使用的是自定义非MvvmCross Intent
,那么MvvmCross显然无法获取其导航信息 - 因此您必须自己创建一种方法来创建ViewModel。