这是我在这里的第一个问题,也许我会解释一点不好,但好看看: 我有一个使用api 22库的项目,但是编译了android 6.0(api 23),我想继续使用api 22库,但是当我用android 6.0设备运行我的项目时,我的权限有问题... < / p>
我的问题:有没有办法可以使用Android 5.1.1,并使用必要的权限方法使用Android 6.0进行编译?我的意思是,我可以添加一些库,以便使用onRequestPermissionsResult(...)
之类的回调吗?我尝试将api 23库添加到我的项目中但是没有使用他的方法,任何建议...... ??
答案 0 :(得分:0)
1。如果您需要的许可是this page的危险许可,请查看。
2.列出String
数组中所需的所有危险权限,如下所示。
private static final String[] REQUIRED_PERMISSIONS = new String[]{your_permissions_here};
3。将以下代码添加到onCreate()。
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);
}
}
REQUEST_PERMISSIONS
是一个常量整数,用于标识此请求。