xamarin android:在第一个intent之前执行代码
问题描述:
在Xamarin.Android应用程序中,我需要显示来自http远程服务器的启动屏幕图像。因此,我需要在显示MainLauncher活动之前执行一些代码(WebClient ...)(我的MainLauncher活动基本上是一个ImageView和一个ProgressBar)。xamarin android:在第一个intent之前执行代码
如果我在MainLauncher活动的OnCreate中添加我的WebClient代码,则在下载过程中会显示一个黑屏。 所以我想在显示mainlauncher之前执行我的WebClient代码。
或任何一种伎俩都行!
希望很清楚...
答
您可能需要一个更多的活动。立即启动启动画面,并在那里进行加载;当你的加载完成后,重定向到你的主要活动。
答
您可以创建一个扩展Android.App.Application的类,并将您的代码添加到其OnCreate方法中。它将在应用程序启动时的MainLauncher活动之前调用。正如here指出的那样,只有在第一次加载应用程序时才会调用此代码。
例如,添加Application.cs(你可以使用Xamarin Studio的为Android活动的新文件模板)到项目的顶层与内容如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using MyApp.Core;
namespace MyApp.Droid
{
public class Application : Android.App.Application
{
public Application(IntPtr javaReference, JniHandleOwnership transfer)
: base(javaReference, transfer)
{
}
public override void OnCreate()
{
base.OnCreate();
// PUT SETUP CODE HERE
}
}
}