继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

最简单的Android6.0权限管理

不负相思意
关注TA
已关注
手记 136
粉丝 12
获赞 69

1.Android Studio下载权限插件PermissionsDispatcher:

5baa2d9d0001710e12960704.jpg

2.在app下面的:build.gradle的dependencies配红色的部分和android配红色部分

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.github.hotchemi:permissionsdispatcher:2.1.3'
    apt 'com.github.hotchemi:permissionsdispatcher-processor:2.1.3'//权限问题
}
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "screen.hanwei.com"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    apply plugin: 'android-apt'
}

3.在工程下面的:build.gradle同样配红色的部分

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
         classpath 'com.android.tools.build:gradle:2.1.2'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

4.以上就完成了第三方6.0权限问题,下面在代码中添加需要的权限,在需要添加权限的地方鼠标点击右键会出现1中我们添加的插件

5baa2d9e0001097903430448.jpg

5baa2d9e00016f0c02540305.jpg

5.点击插件后会出现让你选择需要的权限,这个根据自己需要,我以内存读写为例;下面有四个方法,我就写两个

5baa2d9f0001e20407700702.jpg

6.点击Generate生成,并且要在你需要的地方调用一下,我就在OnCreate中调用:

@NeedsPermission({Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE})
void Screenshot() {
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    MainActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults);
}

@OnShowRationale({Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE})
void ScreenshotWrite(final PermissionRequest request) {
}

在onCreate中调用下面这句话就ok了:

MainActivityPermissionsDispatcher.ScreenshotWithCheck(this);

原文链接:http://www.apkbus.com/blog-784586-62762.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP