这是我的第一个问题,也许我会解释得有点糟糕,但好吧,看一下:
我有一个使用 api 22 库的项目,但使用 android 6.0(api 23) 进行编译,我想继续使用 api 22 库,但是当我使用 android 6.0 设备运行我的项目时,我遇到了权限问题...
我的问题:有没有一种方法可以让您在 Android 5.1.1 等系统中工作,并使用必要的权限方法在 Android 6.0 上进行编译?我的意思是,我可以添加一些库,以便使用回调,例如onRequestPermissionsResult(...)
?我尝试将 api 23 库添加到我的项目中,但他的方法不起作用,有什么建议......?
1.检查您需要的权限是否为危险权限这一页 https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous.
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
是一个常量整数,用于标识此请求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)