如何自定义默认Application实例的实例?

时间:2013-09-23 10:37:06

标签: android xamarin.android xamarin

我想创建自己的Application对象,类似于以下内容:

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"属性中大写和小写字母的所有变体形式,包括是否带有前导.字符。

如果删除该行,则应用程序运行正常。

1 个答案:

答案 0 :(得分:3)

解决方案是添加以下类属性&amp;我的自定义Application类的构造函数:

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
        }

    }
}