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