2013-05-04 42 views
0

在Xamarin.Android應用程序中,我需要顯示來自http遠程服務器的啓動屏幕圖像。因此,我需要在顯示MainLauncher活動之前執行一些代碼(WebClient ...)(我的MainLauncher活動基本上是一個ImageView和一個ProgressBar)。xamarin android:在第一個intent之前執行代碼

如果我在MainLauncher活動的OnCreate中添加我的WebClient代碼,則在下載過程中會顯示一個黑屏。 所以我想在顯示mainlauncher之前執行我的WebClient代碼。

或任何一種伎倆都行!

希望很清楚...

回答

0

您可能需要一個更多的活動。立即啓動啓動畫面,並在那裏進行加載;當你的加載完成後,重定向到你的主要活動。

1

您可以創建一個擴展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 
     } 
    } 
} 
相關問題