不管你用什麼提供GPS,網絡或最好的,所有的工作就從本地獲取位置(在設備)高速緩存的原理相同。
如果你想立即GPS你需要破解的系統更新緩存,然後讀取它。在三星手機上,這種攻擊是必要的。在HTC和其他型號你不需要這個黑客。 我(幸運的是)找到了用黑客來觸發緩存更新的方法。
在getLastKnownLocation之前調用以下代碼。
<YourActivity>.getLocationManager().requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0, new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onLocationChanged(final Location location) {
}
});
OR
使用LocationClient。新的API(位於)用於位置更新。這些API不需要你找到最好的提供者,而是在下面做所有這些。
三星手機有一個固有的問題,他們沒有像預期的那樣正確移植谷歌。不幸的是,他們沒有像我們這樣的開發人員有一個缺陷區來記錄錯誤。谷歌不會讓我們登錄三星的錯誤,因爲三星爲他們的手機定製android不像HTC。 – Siddharth
做這個實驗,在你的任何設備上運行你的代碼,除了三星,HTC。它會像魅力一樣工作。 – Siddharth