4

我正在尝试将 NFC 与 MvvmCross 一起使用。所以我创建了一个IntentFilter看起来像这样的:

[IntentFilter(new[]{"android.nfc.action.NDEF_DISCOVERED"}, 
    Categories = new[] {"android.intent.category.DEFAULT"},
    DataScheme = "bksv-resource", DataHost = "nmt")]

OnResume我正在寻找Intent类型的 Actions 中NfcAdapter.ActionNdefDiscovered。当发现 NDEF 时会发生什么,创建 Activity 并使用内部数据设置 Intent。所有这些都可以在 an 中正常工作Activity,但是在想要使用MvxActivityor时会出现问题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找到 a View,但是,在这种情况下似乎找不到。为什么会这样?我是否需要自定义应用程序启动或其他什么?

4

1 回答 1

6

MvvmCross 从传入的 ViewModel 导航信息中获取Intent

你可以:

如果您使用的是自定义的非 MvvmCross Intent,那么 MvvmCross 显然无法获取其导航信息——因此您必须自己想办法创建 ViewModel。

于 2013-07-09T12:40:23.120 回答