我正在開發一個應用程序,它特別在移動時跟蹤設備的位置。對於同一API調用,我在三星和HTC設備上獲得不同操作系統版本的不同響應。
這是我的代碼。
private static final long HUNDERE_METERS = 100; // in Meters
private static final long TWO_MIN = 60000*2; // in Milliseconds
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setBearingRequired(true);
criteria.setBearingAccuracy(Criteria.ACCURACY_HIGH);
criteria.setHorizontalAccuracy(Criteria.ACCURACY_HIGH);
String provider = mlocManager.getBestProvider(criteria, false);
mlocManager.requestLocationUpdates(provider, TWO_MIN, HUNDERE_METERS, mlocListener);
'三星GALAXY Nexus-4.1.1' 給出了每一個距離的位置更新由HUNDRED_METERS移動(100米),這是罰款。但在'HTC EVO 3D PG86100-4.0.3'中,GPS變爲2分鐘不可用,然後變爲可用,每2分鐘後會導致位置更新。
我修改了代碼如下
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, TWO_MIN, HUNDERE_METERS, mlocListener);
現在HTC開始工作的罰款,並給予100米,但在三星GPS移動爲每個距離的位置成爲每2分鐘不可用。
請建議使用什麼參數調用requestLocationUpdates來獲取距離移動距離的位置更新,距離應該適用於所有Android設備和操作系統。