Android:我的位置按钮在Android 6.0上不起作用

尼古洛兹·阿赫夫莱迪亚尼

一切在其他android上都可以正常运行,但是在6.0中,MyLocationButton不会执行任何操作。这是我的代码

googleMap.getUiSettings().setMyLocationButtonEnabled(true);
googleMap.setMyLocationEnabled(true);
googleMap
                .setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener() {

                    @Override
                    public boolean onMyLocationButtonClick() {

                        Location location = googleMap.getMyLocation();
                        if (location == null) {
                           checkLocationSettings();
                           return true;
                        }

                        LatLng locationLatLng = new LatLng(location
                                .getLatitude(), location.getLongitude());
                        setMarkerToMap(locationLatLng );
                        //other staff
                        return false;
});

protected void checkLocationSettings() {
        PendingResult<LocationSettingsResult> result = LocationServices.SettingsApi
                .checkLocationSettings(mGoogleApiClient,
                        mLocationSettingsRequest);
        result.setResultCallback(this);
    }

@Override
    public void onResult(LocationSettingsResult locationSettingsResult) {
        final Status status = locationSettingsResult.getStatus();
        switch (status.getStatusCode()) {
            case LocationSettingsStatusCodes.SUCCESS:

                break;
            case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
                try {
                    status.startResolutionForResult(this, REQUEST_CHECK_SETTINGS);
                } catch (IntentSender.SendIntentException e) {

                }
                break;

        }
    }

什么会导致此问题?我猜想它必须做一些新的权限(在Android 6.0中),但是我无法弄清楚。

灰ashrathor

请参考这些链接并添加运行时权限。

https://blog.xamarin.com/requesting-runtime-permissions-in-android-棉花糖/

或尝试这些

创建verifyStoragePermissions()方法并在Activity的onCreateView()中调用

private static String[] PERMISSIONS_STORAGE = {
   Manifest.Permission.AccessCoarseLocation,
   Manifest.Permission.AccessFineLocation};
public static void verifyStoragePermissions(Activity activity)
int permission = ActivityCompat.checkSelfPermission(activity,
           Manifest.permission.AccessCoarseLocation);
if (permission != PackageManager.PERMISSION_GRANTED) 
ActivityCompat.requestPermissions(
            activity,
            PERMISSIONS_STORAGE,
            1001  // pass any request code
    );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android:我的位置按钮在Android 6.0上不起作用

来自分类Dev

ACCESS_COARSE_LOCATION在Android 6上不起作用

来自分类Dev

compressionMinSize在Tomcat 6上不起作用

来自分类Dev

NotificationListener在Android上不起作用

来自分类Dev

PlayerPrefs在Android设备上不起作用

来自分类Dev

position:fixed在android上不起作用

来自分类Dev

qt [OpenGL]在Android上不起作用

来自分类Dev

JavascriptInterface在Android 5上不起作用

来自分类Dev

LayoutInflater在Android上不起作用

来自分类Dev

全屏布局在Android上不起作用

来自分类Dev

Android onClickItem在RecyclerView上不起作用

来自分类Dev

属性`children`在Android上不起作用

来自分类Dev

PhonecallReceiver 在 android studio 上不起作用?

来自分类Dev

模拟位置在Android Pie及更高版本上不起作用

来自分类Dev

setChecked 在单选按钮 android 上不起作用?

来自分类Dev

按钮在HTML画布上不起作用

来自分类Dev

按钮在Pjax Reload上不起作用

来自分类Dev

菜单按钮在设备上不起作用

来自分类Dev

Android颜色在我的物理设备上不起作用

来自分类Dev

addRemoveLinks在我的Dropzone上不起作用

来自分类Dev

AFNetworking 2.0.3在iOS 6上不起作用

来自分类Dev

ES6类在Chrome 47上不起作用

来自分类Dev

iPhone NSURLSessionTask在iOS 6上不起作用

来自分类Dev

IPv6在14.04上不起作用

来自分类Dev

Android透明属性在Android 4.1.1上不起作用

来自分类Dev

Android蓝牙发现API在Android 6.0上不起作用

来自分类Dev

Android HttpUrlConnection Url在模拟器上不起作用

来自分类Dev

android:attr / selectableItemBackground在白色windowBackground上不起作用

来自分类Dev

布局边距在Android 2.3.3上不起作用

Related 相关文章

热门标签

归档