【发布时间】:2010-04-16 08:05:59
【问题描述】:
我还有一个关于基本 Android 编程的问题:
如何访问 GPS 以获取运行应用程序的手机的当前位置?检索信息需要多长时间? 在这种情况下,GPS 可能会被禁用,我该如何重新启用/禁用它。
必须在 andorid 清单中授予哪些权限?
您好,感谢您的回答,
波斯罗恩
【问题讨论】:
我还有一个关于基本 Android 编程的问题:
如何访问 GPS 以获取运行应用程序的手机的当前位置?检索信息需要多长时间? 在这种情况下,GPS 可能会被禁用,我该如何重新启用/禁用它。
必须在 andorid 清单中授予哪些权限?
您好,感谢您的回答,
波斯罗恩
【问题讨论】:
一些答案:
访问: 见LocationManager 和LocationListener。
权限:android.permission.ACCESS_FINE_LOCATION
演示:
public class GPSLocationManager implements LocationObservable {
private static final long INTERVAL = 10*1000;
private LocationManager locationManager;
public GPSLocationManager(LocationManager locationManager) {
this.locationManager = locationManager;
}
public void requestLocationUpdates(LocationListener locationListener) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
INTERVAL,
0, locationListener);
}
public void removeUpdates(LocationListener locationListener) {
locationManager.removeUpdates(locationListener);
}
}
【讨论】:
如果用户禁用了 GPS,我认为您至少需要特殊权限才能再次启用它。
也许不是启用它,而是向用户显示一条消息并退回到网络/wifi 位置。获取网络位置的方式与获取 GPSpositon 的方式相同,您只需请求 NETWORK_PROVIDER。
【讨论】: