Context Compat遇到checkSelfPermission时出错

时间:2015-10-13 14:39:12

标签: android backwards-compatibility

我一直试图在Android上执行简单的权限检查。

if (ContextCompat.checkSelfPermission(permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                        alertboxGranted();
                }

我一直在尝试支持4x Android(基本上是< 23 API)

(另外,仅供参考,我已在Manifest和程序开头导入了所需的组件)

但是,当我添加上面的ContextCompat时,会出现错误,即checkSelfPermission无法应用于java.lang.Strings

但是,ContextCompat基本上不支持checkSelfPermission吗?我不确定为什么会出现这个错误。任何人都可以建议为什么会出现这个错误?

谢谢!

1 个答案:

答案 0 :(得分:3)

  

但是,当我添加上面的ContextCompat时,会出现错误,即checkSelfPermission无法应用于java.lang.Strings

正确。您遗失了the Context first parameter to the method

  private boolean canGetLocation() {
    return(ContextCompat.checkSelfPermission(this,
      Manifest.permission.ACCESS_FINE_LOCATION)==
      PackageManager.PERMISSION_GRANTED);
  }