2016-12-14 2 views
0

Ich bin neu in der mobilen Cross-Plattform-Entwicklung. Ich verwende Xamarin und Mvvmcross, um eine Anwendung zu erstellen.Warum schließt mvvmcross die aktuelle Aktivität, wenn StartActivityForResult aufgerufen wird?

Das Problem, mit dem ich derzeit konfrontiert bin, ist, dass, wenn ich eine Anfrage zum Einschalten einer Bluetooth, StartActivityForResult() aufrufen möchte, meine aktive Aktivität schließt und nach dem Klicken auf den Dialog Aktivität nicht zurück angezeigt wird.

Als ich diese Methode zuvor auf einer einfachen Xamarin.Android-Anwendung verwendet habe, funktionierte es wie erwartet und zeigte eine Dialoganfrage für das Einschalten von Bluetooth, während die Aktivität im Hintergrund noch aktiv ist.

Das ähnliche Problem tritt auch auf, wenn ich einen Intent verwende, um eine Aktivität zum Senden einer E-Mail über die integrierte Mail-App zu starten. Nach dem Senden einer E-Mail werde ich nicht zurück zu meiner Bewerbung weitergeleitet und meine Bewerbung wird ausgesetzt.

Hier ist meine Methode:

[Activity(NoHistory = true, ScreenOrientation = ScreenOrientation.Portrait)] 
    public class MainView : MvxAppCompatActivity 
    { 
     ... 
     protected override void OnViewModelSet() 
     { 
      base.OnViewModelSet(); 
      ... 
      var bluetoothAdapter = BluetoothAdapter.DefaultAdapter; 

      if(!bluetoothAdapter.IsEnabled) 
       RequestEnableBluetooth(); 
      ... 
     } 
     public void RequestEnableBluetooth() 
     { 
      Intent turnOnBtIntent = new  
       Intent(BluetoothAdapter.ActionRequestEnable); 
      StartActivityForResult(turnOnBtIntent, 0); 
     } 
     ... 
    } 

Antwort

2

MvvmCross tut nichts dergleichen. Es ist Android, das das tut. Es gibt dir keine Garantie, dass deine Aktivität weiterlebt, wenn sie in den Hintergrund tritt, sie kann sie töten, wann immer sie möchte.

Ihr Problem ist jedoch, dass Sie NoHistory = true auf Ihrem Activity auf diese Weise verwenden, niemand kann zu diesem Activity zurückkehren, wenn Sie davon weg navigiert.

Verwandte Themen