2015-10-07 68 views
20

我想使运行时权限向下兼容旧设备兼容,但使用的支持库,我不能在ContextCompat类找到checkSelfPermission()静态调用,但其记录here机器人ContextCompat.checkSelfPermission()未找到

这里是我的项目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' 

任何想法我失踪?

回答

35

checkSelfPermission()直到API 23才被引入本机Context。因此,您至少需要使用支持库的版本23.0.0。

你应该改变这种

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

这个

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

+0

我试过这个东西,但编译错误为minSdkVersion 16!如何解决这个问题? – Ashok

+0

你可以发布你得到的错误吗? – phxhawke

+0

请小心当你的minSdkVersion <23这种行为https://stackoverflow.com/questions/33407250/checkselfpermission-method-is-not-working-in-targetsdkversion-22 – bvk256

4

如果您已经从Eclipse中添加以下行迁移不会工作

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

在迁移,一世t将appcompatv4添加为外部相关库。 确保你已经从libs文件夹中删除了appcompatv4库,然后它应该开始工作

相关问题