一行代码搞定漂亮的Android 6.0权限申请界面

本文介绍如何在Android 6.0及以上版本中实现动态权限申请,并提供了一个简单的第三方库示例,用于简化权限请求流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Android  6.0(API 23)之前应用的权限在安装时全部授予,运行时应用不再需要询问用户,在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在运行时根据用户的需要动态授予。这样就不需要在安装时被强迫同意某些权限。本人不才,发现一个开源的第三方库,使用时候时很方便的,废话不多直接上代码。

Gradle:

compile 'me.weyye.hipermission:library:1.0.3'
/**
 * 申请单个权限
 *
 * @param peimission 需要申请获取的权限
 */
public void requsestPermission(String peimission) {
    HiPermission.create(BaseActivity.this).checkSinglePermission(peimission, new PermissionCallback() {
        @Override
        public void onClose() {

        }

        @Override
        public void onFinish() {

        }

        /**
         * 权限请求失败
         */
        @Override
        public void onDeny(String permisson, int position) {

            Toast.makeText(BaseActivity.this, R.string.permissionfail, Toast.LENGTH_SHORT).show();
            finish();
        }

        /**
         * 权限请求成功或者权限已经取得
         */
        @Override
        public void onGuarantee(String permisson, int position) {

        }
    });
}

举个例子  比如申请一个定位权限 只需代码

requsestPermission(Manifest.permission.ACCESS_COARSE_LOCATION);

这样就轻松搞定定位权限的申请

注意

清单文件一定要注册申请的权限,不然申请后会默认拒绝,而且设置-权限管理界面也无法看到此权限

以下原因不会弹框

  • 6.0以下版本(系统自动申请)
  • 暂时发现vivo、oppo、魅族的6.0以上版本

因为这些厂商修改了6.0系统申请机制,他们修改成系统自动申请权限了。也就是说这些系统会跟以前 6.0 以下的版本一样,需要用到权限的时候系统会自动申请,就算我们主动申请也是没用的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值