Android现在将所有的权限归为了两类,一类是普通权限,一类是危险权限。对于普通权限,系统会自动帮我们进行授权,不需要手动操作。对于危险权限,必须要由用户手动进行点击授权才可以,否则程序无法完成相应的功能。
下面介绍今天的主角:EasyPermissions
EasyPermissions 是一个包装库,用于在面向 Android M 或更高版本时简化基本系统权限逻辑。
开始撸:
首先,引入依赖:
// android x:
implementation 'pub.devrel:easypermissions:3.0.0'
// Android Support Library:
implementation 'pub.devrel:easypermissions:2.0.1'
可在baseActivity中继承,方便使用,如下:
import androidx.appcompat.app.AppCompatActivity
import pub.devrel.easypermissions.AppSettingsDialog
import pub.devrel.easypermissions.EasyPermissions
abstract class BaseActivity : AppCompatActivity(), EasyPermissions.PermissionCallbacks {
companion object {
const val PERMISSION_CODE = 0X01
const val PERMISSION_CODE_HOMEPAGE = 191
}
//请求一些必须要的权限
private var permissionSuccess: (() -> Unit)? = null
protected fun requestPermission