1
我創建了一個小應用來測試codenameone的GPS功能,但發現它永遠不會給Available
狀態,只有Temporarily Unavailable
。LocationManager永遠不會提供GPS的可用狀態 - Codenameone
對於我的小測試程序,相關的代碼如下:
private void doRetrieveLocationAction() {
try {
Location location = LocationManager.getLocationManager().getCurrentLocation();
taLocationDisplay.setText(getGPSDetails() + "\n : " + location.toString());
} catch (Exception e) {
e.printStackTrace();
taLocationDisplay.setText("Error retrieving location:"
+ "\n"
+ getGPSDetails()
+ "\n " + e.getMessage());
ToastBar.showErrorMessage("Error retrieving location:"
+ "\n"
+ getGPSDetails()
+ "\n " + e.getMessage(), 5000);
}
}
private String getGPSDetails() {
StringBuilder sb = new StringBuilder();
sb.append("isEnabled: ").append(LocationManager.getLocationManager().isGPSEnabled());
sb.append("\nisGPSDetectionSupported: ").append(LocationManager.getLocationManager().isGPSDetectionSupported());
sb.append("\ngetStatus: ").append(LocationManager.getLocationManager().getStatus());
return sb.toString();
}
狀態是整數,在codenameone源代碼分配以下值:
public static final int AVAILABLE = 0;
public static final int OUT_OF_SERVICE = 1;
public static final int TEMPORARILY_UNAVAILABLE = 2;
我能得到什麼當GPS關閉時:
我的GPS後,立即得到被打開:
我能得到什麼後我等了一下:
這些結果表明,地位永遠不會改變。什麼時候該地位應該改變,我該如何使用這種狀態?我如何知道GPS何時可以工作?
這是正在上Android