Android 6.0 运行时权限管理最佳实践

在Android6.0开始,App可以直接安装,App在运行时一个一个询问用户授予权限,系统会弹出一个对话框让用户选择是否授权某个权限给App(这个Dialog不能由开发者定制),当App需要用户授予不恰当的权限的时候,用户可以拒绝,用户也可以在设置页面对每个App的权限进行管理。

Android 安全和反编译

访问GitHub主页

共6360Star

详细介绍

AndPermission

  1. Request for runtime permissions.
  2. Share private files.
  3. Request to install unknown source apk.
    android.permission.REQUEST_INSTALL_PACKAGES
  4. Request to draw at the top of other apps.
    android.permission.SYSTEM_ALERT_WINDOW
  5. Request to show notifications.
  6. Request to access notifications.
    android.permission.BIND_NOTIFICATION_LISTENER_SERVICE
  7. Request to modify system setting.
    android.permission.WRITE_SETTINGS
AndPermission.with(this)
  .runtime()
  .permission(Permission.Group.STORAGE)
  .onGranted(permissions -> {
    // Storage permission are allowed.
  })
  .onDenied(permissions -> {
    // Storage permission are not allowed.
  })
  .start();

For documentation and additional information see the website.

Download

It only supports androidx, add dependencies in your gradle:

implementation 'com.yanzhenjie:permission:2.0.3'

AndPermission requires at minimum Android 4.0(Api level 14) .

Contributing

Before submitting pull requests, contributors must abide by the agreement .

License

Copyright 2019 Zhenjie Yan

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.