如何使用Permissionsdispatcher库获取新的Android M运行时权限?

时间:2015-11-22 18:53:44

标签: java android gradle build.gradle android-6.0-marshmallow

我遇到了奶酪工厂的一篇文章(谷歌因为我不能发布超过2个链接与我的声誉),这解释了如何处理Android Marshmallow的新权限系统。在文章中,他引用了Permissionsdispatcher library 旨在减少样板代码。所以我从GitHub下载了库演示,但是我收到一条错误,指出无法解析MainActivityPermissionsDispatcher。根据我的理解,应该生成this class。如何生成它以删除错误?

MainActivity.java

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    // delegate the permission handling to generated method
    // MainActivityPermissionsDispatcher cannot be resolved
    MainActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults);
}

1 个答案:

答案 0 :(得分:1)

如此处所述https://github.com/hotchemi/PermissionsDispatcher#must

您必须至少为活动添加@RuntimePermissions注释,并至少为方法添加@NeedsPermission注释。

build.gradle 中添加以下内容:

buildscript {
  dependencies {
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
  }
}

apply plugin: 'android-apt'

dependencies {
  compile 'com.github.hotchemi:permissionsdispatcher:1.2.1@aar'
  apt 'com.github.hotchemi:permissionsdispatcher-processor:1.2.1'
}

android-apt插件将负责注释处理。 构建项目后,您应该能够使用生成的类。