¿Cómo registrar mi propia subclase de aplicación en Xamarin.Android?
yo tengo
public class MyApp : Application
En Java añadiría una línea al manifiesto y le pasaría el espacio de nombres y el nombre de mi aplicación:
- 'Jobject' no debe ser IntPtr.Zero al ajustar el texto textview en MonoDroid
- GetAllNetworkInterfaces () lanza la excepción
- Transferencia eficiente de datos de objetos personalizados entre las actividades de Android
- ¿Existe algún tipo de solución para desarrollar Blackberry Apps en C # como Mono para Android o Monotouch?
- Enlace Xamarin.Android definiendo Getter / Setter Métodos usando EnumMethods.xml para la interfaz
<application android:icon="@drawable/icon" android:label="@string/app_name" android:name="com.devahead.extendingandroidapplication.MyApplication">
En Xamarin, existe el atributo [Application]
pero la documentación indica que el miembro Name
no es compatible . Entonces, ¿cómo puedo registrar mi subclase? ¿Dónde aplicar el atributo?
Si agrego el atributo a mi subclase, obtengo:
System.NotSupportedException: Unable to activate instance of type TestClient_Android.MyApplication from native handle 14d00019
- Cómo implementar CountDownTimer Clase en Xamarin C # Android?
- OnConfigurationChanged no se llama en mono android
- Error MSB4185: "System.Globalization.CultureInfo" no se ha habilitado para la ejecución
- ¿Puedes ejecutar juegos XNA en Android?
- Las compilaciones / implementaciones de Xamarin.Android son muy lentas. ¿Cómo acelerarlos?
- AndroidGameWindow.SetDisplayOrientation NullReferenceException
- Monodroid - Monodevelop limpia los datos del usuario mientras se despliega en el dispositivo
- Cómo utilizar Android KitKat EvaluateJavascript en Xamarin.Android/Monodroid y recuperar el resultado?
Lo encontré. La documentación está obsoleta. Necesitará un c'tor especial con dos parámetros y tendrá que agregar el atributo [Application]
:
[Application] public class MyApplication : Application { public MyApplication(IntPtr handle, JniHandleOwnership ownerShip) : base(handle, ownerShip) { } }
EDIT: Además, parece que uno tiene que anular OnCreate (). Si sólo tiene el constructor, no se llamará.
public override void OnCreate() { // If OnCreate is overridden, the overridden c'tor will also be called. base.OnCreate(); }
EDIT Noviembre 2015: aquí hay un enlace a la documentación de Xamarin que explica por qué este comportamiento existe .
… Xamarin.Android engancha a esto agregando un mono.MonoRuntimeProvider ContentProvider a AndroidManifest.xml durante el proceso de la estructura. El método mono.MonoRuntimeProvider.attachInfo () es responsable de cargar el tiempo de ejecución Mono en el proceso. Cualquier intento de usar Mono antes de este punto fallará. (Nota: Es por esto que los tipos de la subclase Android.App.Application necesitan proporcionar un constructor (IntPtr, JniHandleOwnership), ya que se crea la instancia de la aplicación antes de que se pueda inicializar Mono).
- DatePicker.setMinDate (long minDate) lanza IllegalArgumentException: Tiempo no entre
- React Native: fallo de la solicitud de búsqueda con error – TypeError: Error en la solicitud de red (…)