Intereting Posts
Почему я должен использовать PNG, а не JPG? Закрыть Навигационный ящик без анимации Поделиться ссылкой «ссылка» в Android Не удается вызвать метод notifyItemInserted в обратном вызове scroll recyclerview-v7: 24.2.0 Выделить несколько столбцов с помощью RecyclerView Android studio + Gradle + Android Аннотации Невозможно выполнить это действие после onSaveInstanceState на super.onBackPressed () Как показать PopupWindow в специальном месте? Ошибка: не удается изменить зависимости конфигурации «: приложение: _debugAnnotationProcessor» после того, как оно было разрешено Использование JAXB с Google Android Как работает автоматическое восстановление фрагментов Как добавить текст в видеозапись? TextToSpeech с API 21 Каков наиболее эффективный с точки зрения батареи подход использования LocalClient для периодического получения обновлений? Android Canvas.drawTextOnPath не выглядит корректным, если для параметра Paint установлено значение Stroke

Пользовательский дочерний класс приложения в 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.

Solutions Collecting From Web of "Пользовательский дочерний класс приложения в Mono для Android"

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

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

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

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