我在BlackBerry 10 LocationManager
中发现了一个相当烦人的错误,isProviderEnabled()
始终返回true
,尽管位置服务被禁用。这个问题也是mentioned by a user on the BlackBerry support forum,没有任何解决方案。
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 =真
网络=真
我也尝试了之前的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位置服务的状态?