2013-09-23 39 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 
     } 

    } 
} 
相关问题