2011-06-13 48 views
0

我使用以下代碼獲取當前位置,但是如果沒有上次已知位置,則會導致FC。另外一些設備,如摩托羅拉atrix崩潰,如果他們打開此活動。在第一次啓動FC時獲取位置FC和某些設備上的隨機FC

locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
     locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000L, 500.0f, this); 
     locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 500.0f, this); 
     Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

     double lat = location.getLatitude(); 
     double lng = location.getLongitude(); 

有沒有更好的方式來獲取當前位置與崩潰我的應用程序?

回答

0

爲了防止崩潰你的應用程序,把代碼放在try/catch塊中。當發生異常並且未捕獲時,Android應用程序「強制關閉」。如果您發現由於數據尚未準備好而引發錯誤,則可以在捕獲到第一個異常後立即再次嘗試。

+0

這似乎修復了打開應用程序功能的功能。因爲我有Nexus S,所以不知道摩托羅拉Atrix的問題,但是謝謝你,我確實考慮過這個問題。 – PsychoDogg 2011-06-13 03:48:14