2016-12-14 33 views
0

我是移動跨平臺開發新手。我使用Xamarin和Mvvmcross來創建應用程序。爲什麼在調用StartActivityForResult時mvvmcross會關閉當前活動?

我目前面臨的問題是,當我想要打開藍牙的請求時,調用StartActivityForResult(),我的活動活動正在關閉,並且在單擊對話框活動後不會顯示回來。

當我以前使用這種方法在一個簡單的Xamarin.Android應用程序之前,它按預期工作,顯示一個對話框請求,用於打開藍牙,而活動仍處於活動狀態。

當我使用Intent啓動通過內置郵件應用程序發送電子郵件的活動時,也會發生類似的問題。發送電子郵件後,我沒有重定向到我的應用程序,我的應用程序正在被暫停。

這裏是我的方法:

[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); 
     } 
     ... 
    } 

回答

2

MvvmCross什麼都不做這樣的。這是Android。它不會保證您的活動在進入後臺時保持活躍狀態​​,只要它喜歡就可以將其關閉。

但是,您的問題是,您在Activity上使用NoHistory = true這樣,當離開它時,沒有人能夠返回到此Activity

相關問題