我正在尝试检查活动中的权限,如下所示,
int permission = ContextCompat.checkSelfPermission(this, Manifest.permission.GET_ACCOUNT);但是我在作为Cannot resolve symbol 'GET_ACCOUNT'的GET_ACCOUNT上得到了错误。请帮助我应该添加什么代码来修复这个问题?
提前谢谢。
发布于 2017-01-03 19:52:57
下面的代码对我有效,
将以下代码声明为:
public static final int PERMISSIONS_REQUEST_GET_ACCOUNT = 133; // any number在onCreate方法中调用以下代码:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
if(ContextCompat.checkSelfPermission(Activity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(SplashActivity.this,
new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.GET_ACCOUNTS},
PERMISSIONS_REQUEST_GET_ACCOUNT);
}else{
//furtherCode
}
}else{
//furtherCode
}在方法onRequestPermissionsResult方法中,
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch(requestCode){
case PERMISSIONS_REQUEST_GET_ACCOUNT :
if(grantResults[0] == PackageManager.PERMISSION_GRANTED){
Toast.makeText(this, "Granted", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "No such permission to access account!", Toast.LENGTH_SHORT).show();
}
break;
}
}发布于 2016-09-27 14:38:41
它应该是
Manifest.permission.GET_ACCOUNTS而不是
Manifest.permission.GET_ACCOUNT 试着这样做
int permission = ContextCompat.checkSelfPermission(this,Manifest.permission.GET_ACCOUNTS);不要忘记在您的清单上添加权限
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>在您的类中导入此库
import android.Manifest;发布于 2016-09-27 14:55:31
第一个GET_ACCOUNT未在android.Manifest.permission中定义,它是GET_ACCOUNTS
其次,将清单文件更改为使用GET_ACCOUNTS
<uses-permission android:name="android.permission.GET_ACCOUNTS" />然后在你的代码文件中,也就是java文件中,这样写。
ContextCompat.checkSelfPermission(this, android.Manifest.permission.GET_ACCOUNTS);查看文档GET_ACCOUTNS。
https://stackoverflow.com/questions/39717592
复制相似问题