Intereting Posts
Адаптер Android Array с ArrayList и ListView не обновляется при изменении архаиста Уведомление Android: требуется Intent.FLAG_ACTIVITY_NEW_TASK? Связывание OxyPlot через MVVMCross в Xamarin.Android Выбор базы данных для Android и IOS? Андроид-студия мгновенно удаляет оператор импорта и импорта Механизм для приложений для отображения их содержимого изображения в родном 4k Предупреждение: компоновщик: app_process имеет перемещение текста. Это трата памяти и представляет угрозу безопасности. Пожалуйста исправьте. Разрешения запрещены «Не удается вернуть голову нулевого дерева или дерева» с помощью CoreNLP на Android Android setOnScrollListner на RecyclerView устарел GradientDrawable в коде Android-приложение: поддержка всех размеров экрана Удалите запись фактуры в приложении из тестовой учетной записи Google для тестирования снова Гибридное приложение Visual Studio 2015 – получение «EPERM, операция не разрешена» Изменение ConnectionTimeout для переоснащения OkHttpClient во время выполнения Настройте ActionBar на Android с помощью ActionbarSherlock и jeremyfeinstein slidemenu

Пользовательский дочерний класс приложения в Mono для Android

Я пытаюсь создать дочерний класс «Android.App.Application», чтобы переопределить «OnCreate ()», но я не могу заставить его работать. Вот мой код:

namespace MonoAndroidAcra { [Application(Debuggable=true, Label="insert label here", ManageSpaceActivity = typeof(MainActivity))] class AcraApp : Application { public override void OnCreate() { base.OnCreate(); } } } 

MainActivity – это только пример активности по умолчанию.

Теперь, когда я отлаживаю проект, я получаю System.NotSupportedException :

Не удалось активировать экземпляр типа MonoAndroidAcra.AcraApp из встроенного дескриптора 405191a0

Для этого исключения не существует стека вызовов.

Как это сделать правильно? Я не мог найти примеров для этого.

Я использую последнюю стабильную версию Mono для Android.

Вам нужно добавить этот конструктор в свой класс, чтобы он работал:

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

Это была «непроницаемая абстракция», поясняемая членом команды Xamarin , которая была исправлена ​​в последней версии Xamarin Android версии 4.12.2, в которой больше не требуется добавлять этот отсутствующий конструктор. Android SDK 22.6 также необходим для правильной работы с этой версией Xamarin. Однако обновление SDK только не решит эту проблему, это действительно связано с Xamarin.

Для тех, кто использует устаревшую версию, решение Грега все равно должно использоваться.