2012-10-21 39 views
2

我創建了一個Android應用程序來檢索位置。我試圖使用GPS_PROVIDER,它返回null ..但工作順利,當我使用NETWORK_PROVIDER ..任何一個可以幫助我解決這個問題?Android應用程序中的GPS_PROVIDER錯誤

下面是代碼

地點位置= locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

位置變成空當我更換由"GPS_PROVIDER""NETWORK_PROVIDER" ..

我已經在清單

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/> 
+0

你的清單文件是什麼樣子的? – smk

+0

我已經在清單 加入下列三種權限<使用的許可機器人:名稱=「android.permission.ACCESS_COARSE_LOCATION」 /> <使用的許可機器人:名稱=「android.permission.ACCESS_FINE_LOCATION」 /> <用途-permission android:name =「android.permission.ACCESS_MOCK_LOCATION」/> – humandroid

+0

您的設備必須通過WiFi連接,這就是爲什麼它可以與NETWORK_PROVIDER – Lucifer

回答

2

可能有兩個原因,爲什麼你的GPS位置是空

  1. 可能是你的GPS沒有激活。嘗試從setting menu => Location & Security => Check Use GPS Satellites激活您的GPS。
  2. 可能是您目前正在GPS無法工作的建築物中。從大樓出來檢查它。這可能會發生在大多數時間。
+0

+1是的,與你同意,請顯示完整設置第一個選項的路徑,對於像OP這樣的新用戶會很有用。:) – Lucifer

0

增加了以下三個權限按documentation

如果供應商當前被禁用,返回null。

確保您的GPS在設備上處於活動狀態,因此您不會收到空。

編輯:
也可以嘗試運行requestLocationUpdates()GPS_PROVIDER或可能兩次,NETWORK_PROVIDER爲好。 LocationManager以最快的方式檢索位置,並停止搜索。由於GPS位置的檢索速度比網絡位置慢,因此如果發現GPS位置返回null,則會立即停止。

+0

但我工作順利,當我使用NETWORK_PROVIDER。 – Lucifer

+0

NETWORK_PROVIDER未鏈接到GPS。 – slybloty

+0

GPS已啓用,並在我的建築物內正常工作..我已添加。仍然不工作:( – humandroid