如何将 Permissionsdispatcher 库用于新的 Android M 运行时权限?

How can I use the Permissionsdispatcher library for the new Android M runtime permissions?

我看到了一篇 Cheese Factory 文章(google 因为我不能 post 超过 2 个链接与我的声誉),它解释了如何处理 Android 的新权限系统棉花糖。在文章中,他引用了 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);
}

就像这里描述的那样https://github.com/hotchemi/PermissionsDispatcher#must

您至少必须向 activity 添加 @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 插件将负责注释处理。 构建项目后,您应该能够使用生成的 class.

我是一名开发人员。感谢您的使用。

  1. 检查您的 IDE 设置是否允许注释处理。
  2. 你说,"which is a fork of the PermissionsDispatcher repo"但你是什么意思?分叉 repo 和 运行 示例模块?