找不到android ContextCompat.checkSelfPermission()

时间:2015-10-07 03:30:57

标签: android android-support-library

我正在尝试使运行时权限与旧设备向后兼容,但使用支持库我无法在checkSelfPermission()类中找到ContextCompat静态调用,但其文档为here

这是我的项目gradle设置:

defaultConfig {
    applicationId "org.myprogram.cool"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 39
    versionName "3.0"
}

以下是依赖项:

compile 'com.google.android.gms:play-services:+'
compile 'com.squareup:otto:1.3.5'
compile 'com.android.support:appcompat-v7:22.1.1'

知道我错过了什么吗?

3 个答案:

答案 0 :(得分:36)

在API 23之前,

checkSelfPermission()未被引入本地Context。因此,您需要至少使用版本23.0.0的支持库。

你应该改变这个

compile 'com.android.support:appcompat-v7:22.1.1'

到这个

compile 'com.android.support:appcompat-v7:23.0.1'

答案 1 :(得分:5)

如果您已从eclipse迁移,则添加以下行无法正常工作

[
   {
    "categoryID": 81,
    "name": "3/4 Sleeve",
    "url": "3-4sleeve",
    "image": "Images/Categories/81_fm.jpg"
  } 
]

迁移时,它会将appcompatv4添加为外部依赖库。 确保已从libs文件夹中删除appcompatv4库,然后它应该开始工作

答案 2 :(得分:0)

  1. 确保类exampleActivityAppCompatActivity扩展。

  2. 确保build.gradle文件中的minSdkVersion为23。

  3. 进行此更改后同步您的gradle。

应该可以。