2012-02-22 219 views
1

我不想獲取當前位置,但在大多數手機中失敗。 接下來是mycode的:android獲取當前位置失敗

public Location getLocation(Context context) 
{ 
    LocationManager locMan = (LocationManager) context 
     .getSystemService(Context.LOCATION_SERVICE); 
    Location location = locMan 
     .getLastKnownLocation(LocationManager.GPS_PROVIDER); 
    if (location == null) 
    { 
     location = locMan 
      .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
    } 

    return location; 
}  
+1

它*失敗* thats **非常有幫助。 – JoxTraex 2012-02-22 08:45:04

+0

需要更多信息。您是否已將所需的權限添加到清單中? – Tony 2012-02-22 08:51:57

+0

你是否有任何錯誤..如果是這樣粘貼堆棧跟蹤 – Chet 2012-02-22 08:52:53

回答

0

添加的權限ACCESS_FINE_LOCATION該清單文件

2

嘗試使用這...也許是可能的LocationManager沒有您的最後一個位置

/** *此功能用於實例化位置管理器並將其綁定到GPS提供商。 *地理位置經理會在每5分鐘後請求位置更新。 */

private void subscribeToLocationUpdates() { 
     this.lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
     this.lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,5000, 0, this); 
} 

public void onLocationChanged(Location location) { 
    if(location != null){ 

     //make use of this location 

    }  
} 
2

首先的 - 你設置正確的權限?位置權限是隱含的 - 所以如果你要求精確的位置,你也會變得粗糙。

您是否關注this獲取您的位置的指南?

通常,每次您也想要獲取當前位置時,您都不會設置LocationService。您是否嘗試爲自己申請位置更新?

代碼太少,問題太不明確,無法真正幫助您,抱歉。

+0

我只想獲取當前位置,不需要獲取更新的位置,是否有一些簡單的功能獲取位置? – user1104578 2012-02-22 09:08:48