0

我正在測試我的應用程序的location部分與各種配置。在AirPlane模式下,我從Android 2.2上的以下LocationManager沒有收到任何消息發送到ILocationListener,好或壞。在這種情況下,bestProvider是「網絡」。Android:位置管理器當飛行模式

如何確定是否無法獲取位置,以便我可以通知用戶?當有網絡或GPS時,一切正常。

我使用(單爲Android C#)的代碼是:

  var cr = new Criteria(); 
      cr.Accuracy = Accuracy.Coarse; 
      cr.PowerRequirement = Power.Low; 
      cr.AltitudeRequired = false; 
      cr.BearingRequired = false; 
      cr.SpeedRequired = false; 
      cr.CostAllowed = true; 
      string serviceString = Context.LocationService; 
      locationManager = (LocationManager)GetSystemService (serviceString); 
      var bestProvider = locationManager.GetBestProvider (cr, false); 
      locationManager.RequestLocationUpdates (bestProvider, 5000, 500f, this); 

回答

1

this是你的位置監聽器,你可以看到在onProviderEnabled (String provider)onProviderDisabled (String provider)onStatusChanged (String provider, int status, Bundle extras)狀態。閱讀API獲取更多信息,每個國家的含義是什麼

0

您不能在AirPlane模式下使用任何類型的通信,如GPS,GPRS。飛機模式是大多數手機,智能手機和其他電子設備上可用的設置,當它們使用時會中止許多設備的信號傳輸功能 - 從而禁用設備撥打或接聽電話或短信的能力 - 同時仍允許使用其他設備不需要信號傳輸的功能(例如遊戲,內置攝像頭,MP3播放器)。

+2

我很確定GPS在大多數手機上仍然有效。獲得修復可能需要更長的時間,但它在飛行模式下工作。 –

+0

好吧,即使它工作,用戶也只能將數據存儲到本地設備以備將來使用,除非用戶更改配置文件模式。 – Lucifer

+0

它應該雖然拋出一條消息說它不能得到任何東西。 –