2013-09-23 148 views
2

我想創建自己的應用程序對象,類似以下內容:我該如何創建默認應用程序實例的自定義實例?

namespace MyNameSpace.Android 
{ 
    public class MyApplication : Application 
    { 
     public override void OnCreate() 
     { 
      base.OnCreate(); 

      // do application specific things here 
     } 
    } 
} 

我如何才能讓應用程序使用MyApplication對象?我的理解是,我必須在清單中說明這一點,但我無法讓它工作。應用程序部署良好,但未能運行。

這是我的清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      android:installLocation="preferExternal" 
      package="abc.mypackage"> 
    <uses-sdk android:targetSdkVersion="14" /> 
    <application android:label="MyMobileApp" 
       android:theme="@style/Theme.FullScreen" 
       android:screenOrientation="portrait" 
       android:icon="@drawable/Logo" 
       android:name=".MyNameSpace.Android.MyApplication"/> 
</manifest> 

請注意,我試過的大寫和小寫字母的所有變化中android:name=".MyNameSpace.Android.MyApplication"屬性,包括有和沒有領先.字符。

如果我刪除該行,應用程序運行良好。

回答

3

的解決方案是下面的類屬性&構造函數添加到我的自定義應用程序類:

namespace MyNameSpace.Android 
{ 
    [Application(Debuggable = true, ManageSpaceActivity = typeof(MyMainActivity))] 
    public class MyApplication : Application 
    { 

     public MyApplication(IntPtr javaReference, JniHandleOwnership transfer) 
      : base(javaReference, transfer) 
     { 
     } 

     public override void OnCreate() 
     { 
      base.OnCreate(); 

      // do application specific things here 
     } 

    } 
} 
相關問題