使用android 6.0 api 23权限访问低端设备(如api 22)

使用android 6.0 api 23权限访问低端设备(如api 22),android,android-6.0-marshmallow,android-permissions,android-library,Android,Android 6.0 Marshmallow,Android Permissions,Android Library,这是我的第一个问题,也许我会解释得有点糟糕,但好吧,听着: 我有一个使用api 22库的项目,但是使用android 6.0(api 23)编译,我想继续使用api 22库,但是当我使用android 6.0设备运行我的项目时,我的权限有问题 我的问题是:有没有一种方法可以让你在安卓5.1.1中工作,并在安卓6.0中使用必要的权限方法进行编译?我的意思是,我可以添加一些库来使用回调,比如onRequestPermissionsResult(…)?我试图将api 23库添加到我的项目中,但他的方法

这是我的第一个问题,也许我会解释得有点糟糕,但好吧,听着: 我有一个使用api 22库的项目,但是使用android 6.0(api 23)编译,我想继续使用api 22库,但是当我使用android 6.0设备运行我的项目时,我的权限有问题


我的问题是:有没有一种方法可以让你在安卓5.1.1中工作,并在安卓6.0中使用必要的权限方法进行编译?我的意思是,我可以添加一些库来使用回调,比如
onRequestPermissionsResult(…)
?我试图将api 23库添加到我的项目中,但他的方法不起作用,有什么建议吗…?

1。 签出您所需的权限是否为危险权限。

2. 在
字符串中列出所需的所有危险权限,如下所示

private static final String[] REQUIRED_PERMISSIONS = new String[]{your_permissions_here};
三,。 将以下代码添加到onCreate()

if(Build.VERSION.SDK\u INT>=Build.VERSION\u CODES.M){
LinkedList缺少权限=新建LinkedList();
for(字符串p:所需的\u权限){
if(checkSelfPermission(p)!=PackageManager.PERMISSION\u已授予){
丢失权限。添加(p);
}
}
如果(!missingPermissions.isEmpty()){
String[]mpArray=新字符串[missingPermissions.size()];
缺少权限。toArray(mpArray);
请求权限(mpArray、请求权限);
}
}

REQUEST\u PERMISSIONS
是一个常量整数,用于标识此请求。

这将对您完全有帮助我以前读过类似的内容,但我只想知道我是否可以继续使用api 22,或者是否有必要将我的所有项目更改为api 23?或者有没有办法解决我的问题…使用API 22或23没有问题。如果您没有像前面提到的那样请求权限,它将与运行android 5及以下版本的所有设备一起工作。但是当你在安卓6.0上运行它时,应用程序会崩溃。我理解,但是当我添加方法
requestPermissions(…)
时给我一个错误,它显示“类型myClass.java未定义”,并调用
Build.VERSION\u CODES.M
(M未找到)…我想我需要添加一个棉花糖库…对吗?因为我在API22库工作…或者另一个解决方案来回答你?
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    LinkedList<String> missingPermissions = new LinkedList<>();
    for(String p : REQUIRED_PERMISSIONS){
        if(checkSelfPermission(p) != PackageManager.PERMISSION_GRANTED){
            missingPermissions.add(p);
        }
    }
    if(!missingPermissions.isEmpty()){
        String[] mpArray = new String[missingPermissions.size()];
        missingPermissions.toArray(mpArray);
        requestPermissions(mpArray, REQUEST_PERMISSIONS);
    }
}