Xamarin cerrar Aplicación de Android en el botón Atrás
He intentado 3 maneras diferentes
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) System.Environment.Exit(0); public override void OnBackPressed() { Finish(); } public override bool OnKeyDown(Keycode keyCode, KeyEvent e) { if (keyCode == Keycode.Back) { System.Environment.Exit(0); return true; } return base.OnKeyDown(keyCode, e); }
Nada de lo anterior parece estar funcionando
- Acceso denegado (0x80004005) en Process.Start () en la aplicación android
- .jar la importación de la biblioteca android en el proyecto Xamarin
- Salida de depuración extraña en la aplicación desde la actualización a Visual Studio 2017 15.3.0
- "Java.exe" salió con el código 2
- El botón de Android muestra diferentes mensajes de Toast dependen del número de clics
- Xamarin.Android android: versionCode android: versionName - Desde Jenkins Build Server
- Cómo utilizar Spatialite con Xamarin en Android
- Error de implementación de Visual Studio 2015 Xamarin sin ningún mensaje de error
- CryptographicException: Mala PKCS7 de relleno
- ¿Cómo puedo decirle a mi jefe de trabajo con Xamarin no lo hará más rápido
- ¿Cómo enlazar el TextColor de un TextView?
- Mostrar mensaje para conocer la ubicación
- Android FileObserver ejemplo en Xamarin / C #?
Puede utilizar un DepedencyService para cerrar una aplicación cuando se pulsa el botón de retroceso físico:
En su interfaz de usuario (PCL), haga lo siguiente:
protected override bool OnBackButtonPressed() { if (Device.OS == TargetPlatform.Android) DependencyService.Get<IAndroidMethods>().CloseApp(); return base.OnBackButtonPressed(); }
También crea una Interfaz (en tu UI PCL):
public interface IAndroidMethods { void CloseApp(); }
Ahora implementa la lógica específica de Android en tu proyecto de Android:
[assembly: Xamarin.Forms.Dependency(typeof(AndroidMethods))] namespace Your.Namespace { public class AndroidMethods : IAndroidMethods { public void CloseApp() { Android.OS.Process.KillProcess(Android.OS.Process.MyPid()); } } }
public override void OnBackPressed() { Finish(); Android.OS.Process.KillProcess (Android.OS.Process.MyPid ()); }
Prueba esto en tu actividad:
this.FinishAffinity();
¡¡Buena suerte!!
Finish();
Trabajó para mí. Ejecutado desde la actividad principal.
Si quieres salir de App sin matar y regresar a la pantalla de inicio, para que si quieres volver a volver de donde se cierra. Usted puede hacer la implementación de la siguiente manera en su actividad relacionada.
public override void OnBackPressed() { Intent startMain = new Intent(Intent.ActionMain); startMain.AddCategory(Intent.CategoryHome); startMain.SetFlags(ActivityFlags.NewTask); StartActivity(startMain); }
Espero que esto ayude.
- ¿Cómo cambiar entre pantallas?
- Nexus 7 no es recogido por adb (cuando lo conecto a la computadora portátil a través de usb)