Android 动态申请权限

现在Android手机权限越来越严了,需要用户主动申请权限。

Android 用户主动申请权限如下代码:

1、请求权限

复制代码
private void requestPermission() {

        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
            if (ContextCompat.checkSelfPermission(GarbargeCleanActivity.this,Manifest.permission.DELETE_CACHE_FILES)!= PackageManager.PERMISSION_GRANTED){
                //没有权限则申请权限
                ActivityCompat.requestPermissions(GarbargeCleanActivity.this,new String[]{Manifest.permission.DELETE_CACHE_FILES},REQUEST_CODE);

            }else {
                //有权限直接执行,docode()不用做处理
                clearAllCache();
            }

        }else {
            //小于6.0,不用申请权限,直接执行
            clearAllCache();
        }
    }
复制代码

2、在Activity中添加  onRequestPermissionsResult 方法 ,如下:

复制代码
   @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        if (requestCode == REQUEST_CODE){
            if (permissions[0].equals(Manifest.permission.DELETE_CACHE_FILES)
                    &&grantResults[0] == PackageManager.PERMISSION_GRANTED){
                //用户同意使用write
                clearAllCache();
            }else{
                //用户不同意,自行处理即可
                //

            }
        }
    }
复制代码
    private static final int REQUEST_CODE = 1;

3、AndroidManifest.xml 文件中添加对应权限

  <uses-permission
        android:name="android.permission.DELETE_CACHE_FILES"
        tools:ignore="ProtectedPermissions" />

 

posted @   大空白纸  阅读(2126)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2014-10-14 html5 流动布局
2014-10-14 asp.net 使用一般处理程序和ajax post实现登录以及记住密码
2014-10-14 js 将很长的内容进行页面分页显示
点击右上角即可分享
微信分享提示