Android申请权限(相机权限和读写权限)

这篇具有很好参考价值的文章主要介绍了Android申请权限(相机权限和读写权限)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开发一个相机应用,需要申请三个权限:相机、读文件、写文件。

1、在AndroidManifest.xml中添加

<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

2、新建一个Permission类

public class Permission {
    public static final int REQUEST_CODE = 5;
    //定义三个权限
    private static final String[] permission = new String[]{
            Manifest.permission.CAMERA,
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
    };
    //每个权限是否已授
    public static boolean isPermissionGranted(Activity activity){
        if(Build.VERSION.SDK_INT >= 23){
            for(int i = 0; i < permission.length;i++) {  
                int checkPermission = ContextCompat.checkSelfPermission(activity,permission[i]);
                /***
                 * checkPermission返回两个值
                 * 有权限: PackageManager.PERMISSION_GRANTED
                 * 无权限: PackageManager.PERMISSION_DENIED
                 */
                if(checkPermission != PackageManager.PERMISSION_GRANTED){
                    return false;
                }
            }
            return true;
        }else{
            return true;
        }
    }

    public static boolean checkPermission(Activity activity){
        if(isPermissionGranted(activity)) {
            return true;
        } else {
            //如果没有设置过权限许可,则弹出系统的授权窗口
            ActivityCompat.requestPermissions(activity,permission,REQUEST_CODE);
            return false;
        }
    }
}

3、在MainActivity中加入授权操作

@Override
    protected void onStart() {
        super.onStart();
        Permission.checkPermission(this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        if(Permission.isPermissionGranted(this)) {
            Log.i("PERMISSION","请求权限成功");
        }
    }

初步授权成功文章来源地址https://www.toymoban.com/news/detail-504465.html

4、在MainActivity中处理授权失败结果,拒绝授权则退出应用

    @Override
    public void onRequestPermissionsResult(
            int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == Permission.REQUEST_CODE) {
            for (int grantResult : grantResults) {
                if (grantResult != PackageManager.PERMISSION_GRANTED) {
                    Log.e("Permission","授权失败!");
                    // 授权失败,退出应用
                    this.finish();
                    return;
                }
            }
        }
    }

效果图

Android申请权限(相机权限和读写权限)Android申请权限(相机权限和读写权限)

到了这里,关于Android申请权限(相机权限和读写权限)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 开发中的权限申请

            我们都知道,从 Android 6.0 开始,部分危险权限在 xml 注册的同时,还需要动态申请。 1、需要动态申请的权限         需要动态申请的权限主要分为这 9 类,当然每类中可能不止一个权限,但只要动态申请一个就默认获取整个类别的权限。 2、申请单个权限   

    2024年02月09日
    浏览(55)
  • 蓝牙开发之-Android12及以下权限申请 及蓝牙详细流程图

    一、蓝牙开发之-权限申请, 直接上代码 第一步、在 AndroidManifest.xml 中 声明下需要的权限 第三步、权限拿到了,就扫描、连接、进行通信 吧 附上流程图

    2024年04月13日
    浏览(54)
  • Android权限申请之动态申请权限

    先上图: 对于一些危险权限在AndroidManifest清单文件中申请之后,还需要得到用户的许可并打开,才算是真正的开启了这个权限。所以可以使用动态申请权限,对于某个功能,如果需要开启某个权限,在用户使用它之前,弹窗提示用户是否要开启这个权限。 动态申请权限大致

    2024年02月11日
    浏览(57)
  • Android动态申请权限(运行时申请权限)

    目录 1.需要动态申请权限的原因 2.Android权限动态申请 1.需要动态申请权限的原因   首先,Android权限分为大致两类,一类是普通权限,一类是危险权限,准确地讲其实还有一些特殊的权限,不过这些权限使用得相对较少,我们大致跳过.对于普通权限,系统会自动帮我们进行授权,由于

    2024年02月20日
    浏览(46)
  • Android 从零开发一个简易的相机App

    本文介绍了实现一个简易Android相机App过程中,遇到的一些问题,对Camera API的选型、通知相册更新、跳转相册、左右滑动界面切换拍照/录像,相机切换时候的高斯模糊虚化效果、相机切换的3D效果做了说明。 Android调用相机可以使用 Camera1 、 Camera2 和 CameraX 1.1 Camera1 Camera1 的

    2024年02月12日
    浏览(48)
  • Android动态申请权限

    一、在AndroidManifest清单文件中声明要开启的权限 二、代码中动态申请相关权限

    2024年02月06日
    浏览(42)
  • Android之动态申请权限

    Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户。在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在运行时根据用户的需要动态授予。 Android 6.0以下,在AndroidManifest.xml文件中注册权限即可。 Android 6.0及其以后,既

    2024年02月04日
    浏览(48)
  • android11 申请所有文件访问权限

    Android 11 引入了强制执行分区存储的限制,导致应用默认不能访问外部文件。 针对以前涉及较多文件的操作,可采用申请所有文件访问权限的方式来解决这一问题,实现方式如下。 (虽然这样做安全性低,官方并不推荐这样,但确实最快适配原有应用程序的方式) 1. Android

    2024年02月04日
    浏览(45)
  • app上架-您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。

    上架提示 您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。 测试步骤:管理-添加-点击二维码,申请相机权限 修改建议:APP在调用终端敏感权限时,应同步说明权限申请的使用目的,包括但不限于申请权限的

    2024年02月04日
    浏览(39)
  • Android 获取SIM卡号码权限申请

    在AndroidManifest.xml中添加如下权限 uses-permission android:name=\\\"android.permission.READ_PHONE_STATE\\\"/ 如果你只在清单文件中添加权限却没有在代码中获取权限,代码还是会报错的。 报错原因: android 6.0以上增加了动态获取权限api,需要动态获取手机的权限。弹出对话框询问用户,请求用户

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包