本文主要是介绍举例说明Android运行时权限用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
运行时权限是API-23时候新加的,允许在运行时动态授予权限
##废话不多说,直接上代码
public static final int MULTIPLE_PERMISSIONS = 10; // code you want.String[] permissions = new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA,Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION
};@Override
void onStart() {if (checkPermissions())// permissions granted. } else {// show dialog informing them that we lack certain permissions}
}private boolean checkPermissions() {int result;List<String> listPermissionsNeeded = new ArrayList<>();for (String p:permissions) {result = ContextCompat.checkSelfPermission(getActivity(),p);if (result != PackageManager.PERMISSION_GRANTED) {listPermissionsNeeded.add(p);}}if (!listPermissionsNeeded.isEmpty()) {ActivityCompat.requestPermissions(this, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), MULTIPLE_PERMISSIONS);return false;}return true;
}@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {switch (requestCode) {case MULTIPLE_PERMISSIONS:{if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){// permissions granted.} else {// no permissions granted.}return;}}
}
So easy!!!
这篇关于举例说明Android运行时权限用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!