android 不同机型因录音权限出现的不同问题

今天碰到一个关于录音权限的问题,这里只讲6.0系统以下的手机,6.0以上系统已做了更好更安全的处理。


正如我看过一篇文章,那些获取录音权限的方法只是判断你的配置文件AndroidManifest.xml有没有加入录音的权限,并不是正真判断你有没有开启录音权限,然后网上提供的通关过获取mMediaRecorder.getMaxAmplitude()(录音分贝的意思)的变化来判断是否正在录音,在华为手机测试无效,就算关闭录音权限也会发现这个值会有变化

这里介绍不同手机出现的情况:


vivo手机:当走到设置麦克风的时候,这个时候系统会扑捉到异常,可以在catch里面做相应处理

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置麦克风

华为手机:不能像vivo一样捕获到异常,我这里采用了一种很差的办法,暂时没想到其他办法,就是等录音结束后,获取录音文件时长发现为0,再去自己提示权限错误,


发布了6 篇原创文章 · 获赞 0 · 访问量 6009

猜你喜欢

转载自blog.csdn.net/amogin/article/details/73742145