gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:15:08 24 4
gpt4 key购买 nike

在我的应用程序中,我正在创建一个广播接收器,它将监听网络变化。在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com