01Android相机开发(开关相机)

本文详细介绍了在Android系统中如何动态申请相机权限并实现相机的开启与关闭,包括检查权限、选择相机、配置特性、开启及关闭相机的步骤。
摘要由CSDN通过智能技术生成

开关相机分为以下几个步骤:申请授权-->选择相机-->打开相机-->关闭相机

1申请授权

在使用相机 API 之前,必须在 AndroidManifest.xml 注册相机权限 android.permission.CAMERA。
<uses-permission android:name="android.permission.CAMERA" />

需要注意的是 6.0 以上的系统需要我们在程序运行的时候进行动态权限申请,所以我们需要在程序启动的时候去检查权限,有任何一个必要的权限被用户拒绝时,我们就弹窗提示用户程序因为权限被拒绝而无法正常工作

(1) 先询问是否有权限,如果已经授权那么可以进行相机操作

private boolean hasPermission() {
 //判断SDK的版本是否是23以上
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    //检查是否已经授权
    return checkSelfPermission(PERMISSION_CAMERA) == PackageManager.PERMISSION_GRANTED;
  } else {
    return true;
  }
}

(2) 如果没有授权则需要动态申请授权


private void requestPermission() {
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (shouldShowRequestPermissionRationale(PERMISSION_CAMERA)) {
      Toast.makeText(
              CameraActivity.this,
              "Camera permission is required for this demo",
              Toast.LENGTH_LONG)
          .show();
    }
    requestPermissions(new String[] {PERMISSION_CAMERA}, PERMISSIONS_REQUEST);
  }
}
 

2 配置特性

你一定不希望用户在一台没有任何相机的手机上安装你的相机应用程序吧,因为那样做是没有意义的。所以接下来要做的就是在 AndroidManifest.xml 中配置一些程序运行时必要的相机特性,如果这些特性不支持,那么用户在安装 apk 的时候就会因为条件不符合而无法安装。 我们通过 <uses-feature> 标签声明了我们的应用程序必须在具有相机的手机上才能运行。下面两个分别是支持相机和支持自动对焦。 更多的特性可以在 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值