Intereting Posts
WearableListenerService запускается только после того, как приложение установлено – затем больше никогда Получить голосовые данные от Android Wearable Ошибка после того, как Fingerprint коснулся телефонов Samsung: android.security.KeyStoreException: ключевой пользователь не аутентифицирован В Android 4.0 навигационная панель захвата первого события касания Android: сохранение фоновой службы (предотвращение процесса смерти) Как отключить сгенерированную подписку apk android Studio? Android Какой способ хранения URL-адресов лучше всего? Статические члены данных или в String.xml? Android: проблемы с фрагментами диалогового окна и Backstack Как программно настроить фокус на виджет кнопки? Ресурсы разработки Android для новичка Java Android ImageButton – определить, какой ресурс установлен в данный момент Объект POST для отдыха с использованием Spring для android Fragment saveInstanceState приходит как null после изменения ориентации Реагировать Нативный адд обратный ENOENT Недействительный хэш ключа, хэш ключа не соответствует какому-либо сохраненному ключу ключа

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

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