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
- Cómo enlazar Android TextView a evento Click con MvvmCross
- Xamarin - 'Android.Content.IntentFilter' no es una clase de atributo
- Use .GetMapAsync en lugar de otro método .getMap con Google Play Services (Xamarin)
- Visual Studio no reconoce la función BindingInflate de MvxFragment
- Pasar datos entre los modelos de vista MvvmCross
- ¿Cómo se compara Xamarin para Android (Mono para Android) con el desarrollo nativo de Android?
- Xamarin android consumo de memoria crece infinitamente después de que el uso alcanza un cierto umbral
- Xamarin falla aplicación Android en el modo de liberación (Parse.Android SDK)
- ¿Cuál es la contraparte de iOS 'QLPreviewController o UIDocumentInteractionController en Android?
- No se pueden establecer propiedades en clases anidadas desde Xaml
- Tablas de la barra de acción de Android, Styling el icono y el texto juntos
- ¿Cómo puedo interpretar este seguimiento de la pila de Android?
- ¿Cómo dormir hilo en Xamarin android y ios?
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)