直播平台开发中申请录音与相机权限

发布时间 2023-08-17 16:12:10作者: 云豹科技-苏凌霄

现在当我们打开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
            }
        }
    }

上述是多个一起申请,实际可单独申请或其他组合进行申请。

以上就是 直播平台开发中申请录音与相机权限,更多内容欢迎关注之后的文章。