Android(API 23) - 位置提供商空?

时间:2015-10-15 15:00:31

标签: android location locationmanager

我最近将我的一个设备更新到Android 6.0(API 23),因此我无法在我的应用程序中获取位置信息。

很简单,问题是:

locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
for (String providerName : locationManager.getProviders(false)) {
    if (locationManager.isProviderEnabled(providerName)) {
        activeProviders.add(providerName);
        try {
            locationManager.requestLocationUpdates(providerName, LOCATION_UPDATE_DELAY_MS, LOCATION_THRESHOLD_METERS, this);
        } catch (SecurityException e) {
            // TODO: Service not available, Handle This..
            Toast.makeText(context, "Location Disabled", Toast.LENGTH_SHORT).show();
        }
    } 
}

应用程序确实会像往常一样请求位置权限。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

这在Android 4.4 KitKat(Galaxy Nexus)上没有任何问题,但在android 6.0 Marshmallow(Nexus 5)上返回一个空的提供者数组。它之前也使用过运行Lollipop 5.1.1的相同Nexus 5设备。

我错过了一些明显的东西吗?

0 个答案:

没有答案