android多项权限申请
发布日期:2021-05-09 18:27:11 浏览次数:25 分类:精选文章

本文共 1832 字,大约阅读时间需要 6 分钟。

效果果:

1.清单文件

2.调用申请权限的方法

public class MainActivity extends AppCompatActivity {    final String[] PERMISSIONS = new String[]{            Manifest.permission.WRITE_EXTERNAL_STORAGE,            Manifest.permission.READ_EXTERNAL_STORAGE,            Manifest.permission.CAMERA,            Manifest.permission.ACCESS_COARSE_LOCATION,            Manifest.permission.ACCESS_FINE_LOCATION,    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        doCheckPermission();    }    //检查所需的全部权限    public boolean doCheckPermission() {        PermissionsChecker mPermissionsChecker = new PermissionsChecker(MainActivity.this);        if (mPermissionsChecker.lacksPermissions(PERMISSIONS)) {            ActivityCompat.requestPermissions(MainActivity.this, PERMISSIONS, 0x12);            return false;        }        return true;    }}

3.权限类

import android.content.Context;import android.content.pm.PackageManager;import android.os.Build;import android.support.v4.content.ContextCompat;public class PermissionsChecker {    private final Context mContext;    public PermissionsChecker(Context context) {        mContext = context.getApplicationContext();    }    // 判断权限集合    public boolean lacksPermissions(String... permissions) {        for (String permission : permissions) {            if (lacksPermission(permission)) {                return true;            }        }        return false;    }    // 判断是否缺少权限    private boolean lacksPermission(String permission) {        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {            return ContextCompat.checkSelfPermission(mContext, permission) ==                    PackageManager.PERMISSION_DENIED;        }        return false;    }}

 

上一篇:okhttp下载保存图片并更新图库
下一篇:java-android实现两种方式比较两个int类型的数组是否相等

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月28日 14时07分37秒