Vivo 华为设备 AudioManager做了什么
今天收到测试小姐姐这样一个bug反馈,我的拍照闪退了,小哥哥快点帮我看看。
立即bugly看日志看到
java.lang.SecurityException: Not allowed to change Do Not Disturb stateat android.os.Parcel.readException(Parcel.java:2016)at android.os.Parcel.readException(Parcel.java:1962)at android.media.IAudioService$Stub$Proxy.adjustStreamVolume(IAudioService.java:925)at android.media.AudioManager.adjustStreamVolume(AudioManager.java:808)at android.media.AudioManager.setStreamMute(AudioManager.java:1148)at com.xxxxxxxx.activity.CustomCameraActivity$3.run(CustomCameraActivity.java:376)at android.os.Handler.handleCallback(Handler.java:809)at android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:166)at android.app.ActivityThread.main(ActivityThread.java:7383)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
我连忙看代码,我对它做了啥!
猛然一看原来是之前加了一个需求拍照时关闭声音功能,但明明测试都过了,怎么会发生这样情况呢?
后来发现原来问题出在静音模式。华为,vivo 对7.0以上 :此代码audioManager.setStreamMute(AudioManager.STREAM_SYSTEM, false);会使其闪退必现。
回顾下相关知识:
在 Android 6.0(API 23)之后,如果应用需要在免打扰模式下切换音量大小或者通知策略,首先需要在清单文件 AndroidManifest.xml
注册相应的权限:
<!-- 在这里注册不是为了在代码中申请该权限,而是能在跳转到的免打扰权限清单中看到该应用 -->
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/>
AudioManger对象通过getSystemService(Service.AUDIO_SERVICE)获取
AudioManger常用的几个方法void android.media.AudioManager.adjustStreamVolume(int streamType, int direction, int flags):第二个表示调整音乐的大小,第三个参数表示显示调整是的标志 AudioManager.FLAG_SHOW_UI;调整手机类型的声音;第一个参数的几个值
STREAM_ALARM:手机闹铃声音
STREAM_MUSIC:手机音乐声音
STREAM_DTMF:DTMF音调声音
STREAM_RING:电话铃声的声音
STREAM_NOTFICATION:系统提示的声音
STREAM_SYSTEM:系统声音
STREAM_VOICE_CALL:语音电话声音
void android.media.AudioManager.setMicrophoneMute(boolean on) 设置是否让麦克风设置静音
void android.media.AudioManager.setRingerMode(int ringerMode):设置手机电话铃声的模式;支持的几个属性值
RINGER_MODE_NORMAL:正常的手机铃声
RINGER_MODE_SILENT:手机铃声静音
RING_MODE_VIBATE:手机震动
void android.media.AudioManager.setStreamMute(int streamType, boolean state)将指定的音量类型调整为静音
Vivo 华为设备 AudioManager做了什么相关推荐
- 美企调查华为设备安全性,华为发长文质疑;摩根大通预计苹果2020年将推5G iPhone;谷歌拟联手Dish成立美国第四大运营商...
戳蓝字"CSDN云计算"关注我们哦! 嗨,大家好,重磅君带来的[云重磅]特别栏目,如期而至,每周五第一时间为大家带来重磅新闻.把握技术风向标,了解行业应用与实践,就交给我重磅君吧! ...
- 华为设备接口视图_华为设备的交换机接口类型介绍及配置
博文大纲: vlan是什么? 华为交换机的三种接口模式: 1.access模式. 2.trunk模式. 3.hybrid模式. hybrid接口的工作原理. 华为设备的各种接口模式应用场景及配置. 一 ...
- IS-IS LSDB详解(华为设备)
概述: IS-IS协议主要有两大功能:子网依赖功能和子网无关功能.子网依赖功能就是建立和维护邻接关系的功能,而子网无关功能则主要用于执行和管理和管理链路状态信息的交换和路由计算,具体可以分为四个过程. ...
- LDP机制补充与配置(华为设备)
空标签: 一.隐式空标签 在 MPLS网络的出站LER处,首先需要对接收的报文进行标签移除(通过查找标签转发表),然后再进行FIB表的查找并转发,由于进行了两次查表操作,所以过程比较耗时.如果到达出站 ...
- 华为设备路由策略原理与实验
概述: 路由策略可以在路由协议发布.接收和引入路由时配置使用,也可用于过滤路由和改变路由属性. 路由策略各工具之间的调用关系: 条件工具:用于把需要的路由"抓取"出来. 策略工具: ...
- BGP选路实验(华为设备)
文章目录 BGP选路大杂烩 一.实验拓扑 二.分析 三.部署 1.对不同AS的路由进行团体值的设定 2.传递团体值 3.抓取团体值 4.选路 4.1 AS1去AS2走R2 4.2 AS2去AS1走R4 ...
- 华为设备Telnet远程登录配置
2020年5月14日的今天是一个特别的日子,因为我决定做一个自律的网络工程师,通过CSDN博客平台来记录我的毕生所学以及遇到的问题,从此告别垃圾网工,走向人生巅峰迎娶白富美云宝.咳咳,不多逼逼,第一篇 ...
- 华为设备的交换机接口类型介绍及配置
博文大纲: vlan是什么? 华为交换机的三种接口模式: 1.access模式. 2.trunk模式. 3.hybrid模式. hybrid接口的工作原理. 华为设备的各种接口模式应用场景及配置. 一 ...
- sw标准件不能配置_思科设备与华为设备在配置Telnet,有啥不一样呢?
在工作中,可能我们会遇到思科的设备或者华为的,所以,我们需要不断的补充自己的知识,慢慢从小白走向大神之路.今天来看看思科与华为设备在配置Telnet有啥不一样的 思科路由器2901配置Telnet远程 ...
最新文章
- html 表单内容怎么获取不到,jquery中formdate一直获取不到对象中的[0]的值 包括本身也是一个空的数据怎么办?...
- Spring MVC实现Spring Security,Spring Stomp websocket Jetty嵌入式运行
- matlab simulink 电气连接
- 19生成材料清单_SOLIDWORKS 钣金装配体材料明细表扩展应用
- python 精度损失_Python的浮点数损失精度问题
- ASP.NET调用dos命令获取交换机流量
- Rokon 关于精灵的点击事件
- 线性判别式分析-LDA-Linear Discriminant Analysis
- 高性能编程之IO复用之epoll
- UTM(Undergraduate Texts in Mathematics)书单 |附下载链接
- python中哪些词是敏感字词_敏感词库(收集2017年最新最全敏感词) 2017 最新版
- 计算机数值方法第三版答案百度云,数值计算方法课后习题答案(李庆扬等)..doc...
- Java连接db2数据库(常用数据库连接五)
- Photoshop CS5软件安装教程
- 枚举类中获取枚举值的几种方法
- MySQL数据库id主键或密码使用MD5加密
- 专利代理机构代理专利流程
- IoT黑板报0207:MU-MIMO技术让网络龟速变神速
- Vue动态组件 传值
- 【ROS】rosbag使用