直播平台开发中申请录音与相机权限
现在当我们打开APP平台的时候,都会提醒我们要获取权限,相机、定位、录音等。获取该权限让我们在之后使用APP时会更加的方便,下面的文章就给大家介绍下直播平台开发中申请录音与相机权限。
一、直播平台开发app向系统申请录音与相机权限
app 必须先具备如下权限(本文只讨论录音与相机)
AndroidManifest中添加:
<uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
注意:前面两项需要app动态申请
activity.requestPermissions(new String[]{ Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO},1111);
二、直播平台开发app 权限
这里的app权限,指app部分功需要的系统权限,例如相机/存储/网络权限,是app向系统申请的权限。6.0之前,只需要把权限配置到AndroidManifest文件中就可以了,到6.0,除了需要在AndroidManifest配置对应全限外,还需要动态申请,也就是通过api调用来让用户确认是否给该app某个权限。用得最多的是存储权限,音视频横行的今天,相机/录音/蓝牙/定位是常见需要动态申请。这种询问申请模式可能会延续很长一段时间甚至一直持续下去。
为隐私数据的安全,app的权限是越来越严格,一方面是技术层面的趋势,一方面是隐私政策以及法规的约束,使得应用各方面的去满足(迎合)合规。
权限就是其中一项,基于系统,app需要向系统申请,同时系统再向使用者申请,最终确定是否具备相关权限。
一般情况下,app为保证功能正常,会在启动的时候一并申请所有的权限(需动态申请的),但在很多合规检测中,这是不合规的,因为存在权限申请了不用的(过多申请,例如申请了相机权限,只在主页停留就退出),也就要求用时申请。同时有些合规还要求在申请前详细提醒用户,这样就出现了一个不好的体验:当需要申请时先弹一个提示框(app),再弹一个授权框(系统),为了合规也得照做。
三、直播平台开发时动态权限申请
1、直播平台开发时权限检查
if(ContextCompat.checkSelfPermission(this,Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED){ activity.requestPermissions(new String[]{ Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_EXTERNAL_STORAGE},1111); }else { //已获得权限 }
2、直播平台开发时请求申请
activity.requestPermissions(new String[]{ Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_EXTERNAL_STORAGE},1111);
3、直播平台开发时申请响应
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == 1111){ if (grantResults.length > 0){ //此处分别判断grantResults 如grantResults[0] == PackageManager.PERMISSION_GRANTED } } }
上述是多个一起申请,实际可单独申请或其他组合进行申请。
以上就是 直播平台开发中申请录音与相机权限,更多内容欢迎关注之后的文章。