MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION 权限 android 在代码中无法识别
Posted
技术标签:
【中文标题】MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION 权限 android 在代码中无法识别【英文标题】:MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION permission android not recognised in code 【发布时间】: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”。
提前致谢!
【问题讨论】:
【参考方案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
【讨论】:
以上是关于MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION 权限 android 在代码中无法识别的主要内容,如果未能解决你的问题,请参考以下文章