android – 如何接收语音(通话中)流类型的音量变化事件?

我正在尝试注册一个广播接收器来处理VOLUME_CHANGED_ACTION事件,仅用于volume_voice流类型(我根据经验在Settings.System.VOLUME_SETTINGS中看到它是索引0).

标签EXTRA_VOLUME_STREAM_TYPE是隐藏的,所以我使用了显式字符串“android.media.EXTRA_VOLUME_STREAM_TYPE”.这一切在Android 2.3.4上运行良好(按预期获得了volume_voice的值0),但在2.3.5上,此额外保存的值为10,这在Settings.System.VOLUME_SETTINGS上给出了一个Arrayindexoutofboundsexception.
此外,我在Settings.System.VOLUME_SETTINGS中看到volume_voice仍然是索引0.

有没有更健壮的方法来处理volume_voice流类型的VOLUME_CHANGED_ACTION?

编辑或任何其他方式来做标题要求的?

解决方法

I’m trying to register a broadcast receiver to handle the VOLUME_CHANGED_ACTION event

There is no VOLUME_CHANGED_ACTION in the Android SDK.

The label EXTRA_VOLUME_STREAM_TYPE is hidden,so I have used the explicit string “android.media.EXTRA_VOLUME_STREAM_TYPE” instead.

Android SDK中没有EXTRA_VOLUME_STREAM_TYPE.

Is there a more robust way to handle VOLUME_CHANGED_ACTION for volume_voice stream types?

Android SDK中没有VOLUME_CHANGED_ACTION.

无论你想要做什么都没有文档,不受支持,可能不适用于任何给定版本的Android(过去/现在/未来),并且可能无法在任何给定设备上运行(因为制造商可以更改SDK中没有的任何内容).根据定义,它永远不会“强大”.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...