android 封装,android6.0如何封装运行时的权限

科技资讯 投稿 6100 0 评论

android 封装,android6.0如何封装运行时的权限

我们常常会遇到一些问题,比如android6.0如何封装运行时的权限等问题,我们该怎么处理呢。下面这篇文章将为你提供一个解决思路,希望能帮你解决到相关问题。

1.Android 6.0权限封装概述

Android 6.0以上的系统,对于应用程序的权限要求更加严格,应用程序在安装的时候只会授予一些必要的权限,其余的权限都需要在应用的运行时再次获取,这就需要开发者来封装运行时的权限获取,以满足应用程序的正常运行。

2.封装运行时权限的步骤

封装运行时权限的步骤如下:
1、在AndroidManifest.xml文件中声明需要申请的权限;
2、在应用程序中调用API来检测权限;
3、当权限没有被授予时,弹出权限申请对话框;
4、当用户点击允许授权时,调用API来申请权限;
5、当用户拒绝授权时,弹出提示框,提示用户去设置里手动授权;
6、当用户设置里授权后,再次调用API来检测权限;
7、当权限被授予后,继续应用程序的后续操作。

3.封装运行时权限实例

以下是一个封装运行时权限的实例代码:


// 封装运行时权限
public static void requestRuntimePermission(String[] permissions, PermissionListener listener){
    mListener = listener;
    List permissionList = new ArrayList();
    for(String permission : permissions){
        if(ContextCompat.checkSelfPermission(MyApplication.getContext(), permission) != PackageManager.PERMISSION_GRANTED){
            permissionList.add(permission);
        }
    }

    if(!permissionList.isEmpty()){
        ActivityCompat.requestPermissions(MyApplication.getCurrentActivity(), permissionList.toArray(new String[permissionList.size()]), 1);
    }else{
        mListener.onGranted();
    }
}

// 权限回调
public static void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if(mListener != null){
        if(grantResults.length > 0){
            List deniedPermissions = new ArrayList();
            for(int i = 0; i 
                        

总结

以上就是为你整理的android6.0如何封装运行时的权限全部内容,希望文章能够帮你解决相关问题,更多请关注本站相关栏目的其它相关文章!

编程笔记 » android 封装,android6.0如何封装运行时的权限

赞同 (27) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽