【问题标题】:MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION permission android not recognised in codeMY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION 权限 android 在代码中无法识别
【发布时间】:2017-05-27 13:55:14
【问题描述】:

我们目前正在尝试从 Android 手机请求 GPS 权限,以便我们可以在 Google 地图上显示当前位置。 我们在清单标签下包含了这个清单,在应用程序标签之外:

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

这是我们代码中不起作用的部分,它无法识别 MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION:

 if (ActivityCompat.checkSelfPermission(this,
            android.Manifest.permission.ACCESS_FINE_LOCATION)
            != PackageManager.PERMISSION_GRANTED) {
        // Should we show an explanation?
        if (ActivityCompat.shouldShowRequestPermissionRationale(this,
                android.Manifest.permission.ACCESS_FINE_LOCATION)) {
            // Show an explanation to the user *asynchronously* -- don't block
            // this thread waiting for the user's response! After the user
            // sees the explanation, try again to request the permission.
        } else {
            // No explanation needed, we can request the permission.
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
            // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
            // app-defined int constant. The callback method gets the
            // result of the request.
        }
    }

我们还包括了“import android.Manifest”。

提前致谢!

【问题讨论】:

    标签: android android-manifest android-permissions android-location


    【解决方案1】:

    你必须像这样定义它:

    public static int MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION =1;
    

    然后将结果捕获为:

        @Override
    public void onRequestPermissionsResult(int requestCode,
            String permissions[], int[] grantResults) {
        switch (requestCode) {
            case MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION : {
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    
                    // permission was granted, yay! Do the
                    // contacts-related task you need to do.
    
                } else {
    
                    // permission denied, boo! Disable the
                    // functionality that depends on this permission.
                }
                return;
            }
    
            // other 'case' lines to check for other
            // permissions this app might request
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 2017-11-19
      • 1970-01-01
      • 2020-01-25
      相关资源
      最近更新 更多