PermissionGrantor,一行代码搞定动态权限申请

来源:互联网 发布:中信建投证券软件 编辑:程序博客网 时间:2024/05/29 14:12
static public void getLocation(ShopListActivity activity) {        //初始化定位        final AMapLocationClient mLocationClient = new AMapLocationClient(SmApplication.getInstance().getApplicationContext());        //设置定位回调监听        mLocationClient.setLocationListener(new AMapLocationListener() {            @Override            public void onLocationChanged(AMapLocation amapLocation) {                if (amapLocation.getErrorCode() == 0) {//                    double latitude = amapLocation.getLatitude();//获取纬度//                    double longitude = amapLocation.getLongitude();//获取经度//                LatLng nowLng = new LatLng(latitude, longitude);//当前定位点经纬度                    mLocationClient.onDestroy();//                    EventBus.getDefault().post(new LatLng(latitude, longitude));                    EventBus.getDefault().post(amapLocation);                } else {                    Toast.makeText(SmApplication.getInstance().getApplicationContext(), amapLocation.getErrorInfo(), Toast.LENGTH_SHORT).show();                }            }        });        //初始化AMapLocationClientOption对象        AMapLocationClientOption mLocationOption = new AMapLocationClientOption();        //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。        mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);        //设置定位间隔,单位毫秒,默认为2000ms,最低1000ms。        mLocationOption.setInterval(10000);        //设置是否返回地址信息(默认返回地址信息)        mLocationOption.setNeedAddress(true);        //单位是毫秒,默认30000毫秒,建议超时时间不要低于8000毫秒。        mLocationOption.setHttpTimeOut(20000);        //给定位客户端对象设置定位参数        mLocationClient.setLocationOption(mLocationOption);        //启动定位        if (PermissionsUtil.hasPermission(activity, neededPermissions)) {            mLocationClient.startLocation();        } else {            PermissionsUtil.requestPermission(activity, new PermissionListener() {                @Override                public void permissionGranted(@NonNull String[] permissions) {                }                @Override                public void permissionDenied(@NonNull String[] permissions) {                }            }, neededPermissions);        }    }
原创粉丝点击