我在 BlackBerry 10 中发现了一个相当烦人的错误LocationManager
,尽管位置服务被禁用,但它isProviderEnabled()
总是返回。true
黑莓支持论坛上的用户也提到了这个问题,但没有任何解决方案。
LocationManager lm = context.getSystemService(Context.LOCATION_SERVICE);
Log.d("LocationManager", "gps="+lm.isProviderEnabled(LocationManager.GPS_PROVIDER));
Log.d("LocationManager", "network="+lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER));
无论位置服务设置如何,这都会产生:
gps=true
网络=true
我也尝试过 Froyo 之前的解决方法,但始终返回所有位置提供程序getAllProviders()
:
for (final String provider : lm.getAllProviders()) {
if (provider.equals((LocationManager.GPS_PROVIDER)) {
Log.d("LocationManager", "gps=true"));
} else if (provider.equals((LocationManager.NETWORK_PROVIDER)) {
Log.d("LocationManager", "network=true");
}
}
这会产生相同的结果。
如何确定 BB10 定位服务的状态?