举例说明Android运行时权限用法

来源:互联网 发布:淘宝蓝海龙腾黑不黑 编辑:程序博客网 时间:2024/06/05 19:17

运行时权限是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};@Overridevoid 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;}@Overridepublic 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!!!

帮朋友招聘职位如下

普照天星【Java开发工程师】20-30k
http://www.jianshu.com/p/8b52751360df
产品经理20-30k
http://www.jianshu.com/p/cb0ac7a00796

1 0
原创粉丝点击