时间:2021-05-21
OverView
今天在复习的时候,突然复习到我们的相机操作,但是对于相机操作,对于我来说比较复杂的是对于权限的操作。所有我们需要对我们的相机操作进行一些笔记的整理,加深记忆。
开发环境
Android Studio 3.6
Android 11(R)
该笔记使用 java
权限申请的基础知识
学习自:GOOGLE ANDROID DEVELOPERS
对于我们所需要申请的权限我们需要进行如下的操作。
我们需要将所有需要申请的权限添加到App/src/main/AndroidManifest.xml文件中。
但是权限也是分为常规的权限和危险的权限的,对于常规的权限我们的只需要在AndroidManifest.xml文件中添加就可以使用了,但是对于一些被视为危险权限的,我们就需要让用户来选择时候同意申请。
接下来我们就看一下如何操作我们的危险权限吧。
如何判断是否申请了权限
按照国际惯例我们先看一下源代码:
private boolean checkPermission() { //first we need check this Drive has? CAMERA Permission if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA}, CHECK_PERMISSION_CAMERA); return false; } else return true;}这里我们使用我们的相机权限作为实例。
首先我们需要判断我们的使用有相机权限,可以使用,申请完成后我们需要进行权限申请。我们将我们所需要的权限申请,并且传入我们的指定代码。这里我的CHECK_PERMISSION_CAMERA的值为1。
然后就是我们需要重写我们的系统方法onRequestPermissionsResult
这个方法可以很好的来判断用户时候同意了我们的权限申请。
首先来看看我们的源代码:
@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); switch (requestCode) { case CHECK_PERMISSION_CAMERA: { if (grantResults.length > 0 && permissions[0].equals(PackageManager.PERMISSION_GRANTED)) { Toast.makeText(this, "The camera permission application wes successful!", Toast.LENGTH_SHORT).show(); dispatchTakePictureIntent(); } else { Toast.makeText(this, "The camera permission application wes failed!", Toast.LENGTH_SHORT).show(); } } break; }}这个就是我判断用户时候同意我们申请相机权限的全部代码了。
这个也是非常的简单,我们通过在申请的时候传入的识别代码来判断,如果代码通过后我们需要通过验证grantResults的长度和权限数组中的索引位置来判断用户有没有同意我们的权限申请。如果同意了我们就可以进行下一步操作。
这部分代码还是非常的简单的。关于动态权限的申请还是非常的简单的。
以上这篇Android 如何实现动态申请权限就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
由于android7.0新增了动态权限,所以我们在做拍照和相册选取功能的时候,需要申请添加动态权限实现效果图:(1)在res目录下,新建xml文件夹,在xml文
为Android程序申请权限注意Android系统提供为程序提供了权限申请,即在manifest中使用uses-permission来申请即可.实现起来非常简单
本文实例为大家分享了Android实现闪光灯效果的具体代码,供大家参考,具体内容如下一、声明闪光灯的权限注意:Camera权限6.0以上需要动态申请权限二、具体
1.动态权限申请模糊的位置信息android.permission.ACCESS_COARSE_LOCATION权限为例在AndroidManifest文件中加
本文实例为大家分享了Android实现静默拍照功能的具体代码,供大家参考,具体内容如下1.申请权限(6.0以后要动态申请)2.创建相机工具类CameraPrev