MvvmCross:如何将Android上下文传递给MvxCommand?

use*_*286 4 mvvmcross

我创建了一个服务接口:

public interface IMessageDialogService
{
    void ShowDialog(object context,string title,string message,string buttonTitle);
}
Run Code Online (Sandbox Code Playgroud)

我已在Android和iOS上实现了该界面.上下文仅用于Android,其中需要Android上下文来显示消息对话框.我将此接口传递给我的ViewModel,由IoC注入.我的问题是在我的平台独立的ViewModel中,它调用WebService然后处理返回值.它检查错误条件的返回值,并需要显示消息对话框.iOS不需要任何上下文来显示UIAlertView,但在Android上如何获取Android上下文作为第一个参数传入?

是否有更简单的方法从ViewModel显示简单的信息对话框?

use*_*286 18

在检查WebBrowserTask的源代码之后,看起来我总是可以通过以下方式获取当前的Activity:

var activity = Mvx.Resolve<IMvxAndroidCurrentTopActivity> ().Activity;
Run Code Online (Sandbox Code Playgroud)

所以我不必将其传递下去,但是我在Android上实现了IMessageDialogService并抓住它并使用它来显示消息对话框.