PermissionsDispatcher 使用教程

PermissionsDispatcher 使用教程

PermissionsDispatcher项目地址:https://gitcode.com/gh_mirrors/pe/PermissionsDispatcher

1. 项目的目录结构及介绍

PermissionsDispatcher 是一个用于处理 Android 运行时权限的开源库。以下是其主要目录结构和介绍:

PermissionsDispatcher/
├── app/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           └── java/
│               └── com/
│                   └── github/
│                       └── hotchemi/
│                           └── permissionsdispatcher/
│                               └── sample/
│                                   ├── MainActivity.java
│                                   └── MyFragment.java
├── permissionsdispatcher/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           └── java/
│               └── permissions/
│                   └── dispatcher/
│                       ├── PermissionsDispatcher.java
│                       └── annotations/
│                           ├── NeedsPermission.java
│                           ├── OnNeverAskAgain.java
│                           ├── OnPermissionDenied.java
│                           └── OnShowRationale.java
├── build.gradle
├── gradle.properties
├── settings.gradle
└── README.md

主要目录介绍:

  • app/: 示例应用的目录,包含示例代码和配置文件。
  • permissionsdispatcher/: 库的核心代码目录,包含注解和处理逻辑。
  • build.gradle: 项目的构建脚本。
  • gradle.properties: Gradle 配置属性文件。
  • settings.gradle: 项目设置文件,包含子项目的配置。
  • README.md: 项目说明文档。

2. 项目的启动文件介绍

PermissionsDispatcher 的启动文件主要是示例应用中的 MainActivity.java。以下是其主要内容和介绍:

package com.github.hotchemi.permissionsdispatcher.sample;

import android.Manifest;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import permissions.dispatcher.NeedsPermission;
import permissions.dispatcher.OnNeverAskAgain;
import permissions.dispatcher.OnPermissionDenied;
import permissions.dispatcher.OnShowRationale;
import permissions.dispatcher.PermissionRequest;
import permissions.dispatcher.RuntimePermissions;

@RuntimePermissions
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MainActivityPermissionsDispatcher.showCameraWithPermissionCheck(this);
    }

    @NeedsPermission(Manifest.permission.CAMERA)
    void showCamera() {
        // 处理相机权限逻辑
    }

    @OnShowRationale(Manifest.permission.CAMERA)
    void showRationaleForCamera(PermissionRequest request) {
        // 显示权限请求的解释
    }

    @OnPermissionDenied(Manifest.permission.CAMERA)
    void onCameraDenied() {
        // 处理权限被拒绝的逻辑
    }

    @OnNeverAskAgain(Manifest.permission.CAMERA)
    void onCameraNeverAskAgain() {
        // 处理用户选择“不再询问”的逻辑
    }

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

主要功能介绍:

  • @RuntimePermissions: 标记该类需要处理运行时权限。
  • @NeedsPermission: 标记需要权限的方法。
  • @OnShowRationale: 标记显示权限请求解释的方法。
  • @OnPermissionDenied: 标记权限被拒绝时的处理方法。
  • @OnNeverAskAgain: 标记用户选择“不再询问”时的处理方法。

3. 项目的配置文件介绍

PermissionsDispatcher 的配置文件主要包括 build.gradleAndroidManifest.xml

build.gradle

在项目的根目录和 app 目录下都有 build.gradle 文件,用于配置项目的构建脚本。以下是 app 目录下的 build.gradle 文件的主要内容:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'

android {
   

PermissionsDispatcher项目地址:https://gitcode.com/gh_mirrors/pe/PermissionsDispatcher

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何媚京

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值