我正在測試我的應用程序的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);
我很確定GPS在大多數手機上仍然有效。獲得修復可能需要更長的時間,但它在飛行模式下工作。 –
好吧,即使它工作,用戶也只能將數據存儲到本地設備以備將來使用,除非用戶更改配置文件模式。 – Lucifer
它應該雖然拋出一條消息說它不能得到任何東西。 –