c# - 如何在没有启动 Activity 的情况下初始化 MvvmCross 框架?

标签 c# xamarin.android mvvmcross

在我的应用程序中,我正在创建一个广播接收器,它将监听网络变化。在 OnReceive 中,它会检查设备是否刚刚连接到 WiFi,然后在后台开始上传。不会显示任何 Activity,那么我需要做什么来初始化框架而不启动 Activity?我不需要框架的任何页面导航部分,因此精简的初始化是最佳选择。

    private override void OnReceive(Context context, Intent intent)
    {
        bool isWifiConnected = false;
        bool isMobileConnected = false;

        if (intent.Action.Equals(ConnectivityManager.ConnectivityAction))
        {
            NetworkInfo networkInfo = (NetworkInfo)intent.GetParcelableExtra(ConnectivityManager.ExtraNetworkInfo);


            if (networkInfo.IsConnected)
            {
                if (networkInfo.Type == (int)ConnectivityType.Wifi)
                {
                    isWifiConnected = true;
                }
                if (networkInfo.Type == (int)ConnectivityType.Mobile)
                {
                    isMobileConnected = true;
                }
            }
        }

        if (isWifiConnected)
        {
            StartUp(); //What do I put in this private method?
        }

最佳答案

我现在已将一些更改推送到 GitHub,希望您能够使用其 BroadcastReceiver 创建您的应用。

使用这些修改,您现在可以从任何应用程序组件(Activity、BroadcastReceiver、Service 或 ContentProvider)初始化核心应用程序,代码如下:

var setup = MvxAndroidSetupSingleton.GetOrCreateSetup(this.ApplicationContext);
setup.EnsureInitialized(this.GetType());

这些更改应该使 MvvmCross 应用程序能够在“Intent.ActionMain”场景以及以下情况下启动:

  • 当应用程序 list 中的次要 Intent 是请求时
  • 当请求 Service、BroadcastReceiver 或 ContentProvider 组件时
  • 由于 Android 操作系统先前已将应用程序从内存中清除而请求重新启动时,但用户现在已请求重新启动该应用程序(有点像 WP7 中的逻辑删除后的水合作用)

这些变化的更详细的解释是 http://slodge.blogspot.co.uk/2012/05/android-application-initialization-and.html

关于c# - 如何在没有启动 Activity 的情况下初始化 MvvmCross 框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10584385/

相关文章:

c# - 如何替换字节

android - Android Native 模块与现有 Xamarin Native 项目的集成

android - Xamarin.Forms 在 Android 和 IOS 中的设计分离

localization - 本地:MvxLang failed to bind the resource text to TextView when it is part of itemtemplate of MvxListView in Xamarin app

c# - Visual Studio .cshtml 文件中的缩进被破坏

c# - Exchange Web 服务 API 和 401 未授权异常

c# - 在 INotifyPropertyChanged 之后更新控件

bitmap - 为图像创建一个公共(public)类是否明智?

c# - 使用工具栏在 fragment 中显示后退按钮

xamarin - MVVMCross 中的常量程序集重新映射