【问题标题】:Getting Location using Dexter in android studio在 android studio 中使用 Dexter 获取位置
【发布时间】:2020-09-16 15:56:55
【问题描述】:
                .withPermission(Manifest.permission.ACCESS_FINE_LOCATION)
                .withListener(new PermissionListener() {
                    @Override
                    public void onPermissionGranted(PermissionGrantedResponse permissionGrantedResponse) {
                        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
                                ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                            // TODO: Consider calling
                            //    ActivityCompat#requestPermissions
                            // here to request the missing permissions, and then overriding
                            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                            //                                          int[] grantResults)
                            // to handle the case where the user grants the permission. See the documentation
                            // for ActivityCompat#requestPermissions for more details.
                            return;
                        }
                        mMap.setMyLocationEnabled(true);
                      mMap.getUiSettings().setMyLocationButtonEnabled(true);
                      mMap.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener() {
                          @Override
                          public boolean onMyLocationButtonClick() {
                              fusedLocationProviderClient.getLastLocation()
                                      .addOnFailureListener(new OnFailureListener() {
                                          @Override
                                          public void onFailure(@NonNull Exception e) {
                                              Toast.makeText(getContext(), ""+e.getMessage(), Toast.LENGTH_SHORT).show();
                                          }
                                      })
                                      .addOnSuccessListener(new OnSuccessListener<Location>() {
                                          @Override
                                          public void onSuccess(Location location) {

                                          }
                                      })
                          }
                      });
                    }

ActivityCompat.checkSelfPermission(this,...) *这是显示错误它显示所需的类型上下文 提供了权限监听器。 我是android新手请帮忙。

【问题讨论】:

  • 第一步总是很艰难 :-) 继续努力。关于您的问题,请同时复制确切的错误声明,以便我们更好地理解问题。谢谢

标签: java android google-maps


【解决方案1】:

试试这个代码希望它能正常工作。

Dexter.withActivity(this)
            .withPermissions(Manifest.permission.READ_EXTERNAL_STORAGE,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE)
            .withListener(new MultiplePermissionsListener() {
                @Override
                public void onPermissionsChecked(MultiplePermissionsReport report) {
                    if (report.areAllPermissionsGranted()) {
                        //do you stuf here
                    } else {
                        Toast.makeText(EditEventActivity.this, "Permission Denied! plz enable application permission from app settings!", Toast.LENGTH_LONG).show();
                    }
                }

                @Override
                public void onPermissionRationaleShouldBeShown(List<PermissionRequest> permissions, PermissionToken token) {
                    token.continuePermissionRequest();

                }

            }).check();

或阅读https://github.com/Karumi/Dexter

【讨论】:

    猜你喜欢
    • 2021-01-04
    • 2018-08-13
    • 2021-12-13
    • 1970-01-01
    • 2023-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多