gpt4 book ai didi

android - 在自定义 Android 中如何覆盖 STREAM_RING 作为响应音量按钮的默认 AudioService

转载 作者:太空狗 更新时间:2023-10-29 13:31:54 26 4
gpt4 key购买 nike

Google 文档指出,如果某个应用没有播放任何内容,则按音量键可调节铃声音量。见http://developer.android.com/training/managing-audio/volume-playback.html#HardwareVolumeKeys

我敢肯定,除了 STREAM_RING(例如 STREAM_MUSIC)之外,还可以通过从源代码创建自定义构建来更改此“默认”行为STREAM_MUSIC 音量将改变。(这个要求是因为设备没有电话,所以铃声音量是一个空操作)。

我查看了 Launcher 代码,但它没有显示(至少我看不到)音量按钮通过 AudioManager 定向/消耗到 STREAM_RING。此外,当在“设置”中时,VOLUME 按钮会更改 STREAM_RING,这让我进一步相信存在“上链”或“应用程序框架或 Android 运行时中的堆栈下”。

是否有正在运行的“高级” Activity 或系统进程处理将 VOLUME 分派(dispatch)到以 STREAM_RING 作为 channel 的 AudioManager?或者 AudioManager 中是否有可以设置的东西,以便它处理对 STREAM_MUSIC 的 VOLUME 更改(从源代码来看这似乎不太可能,因为它似乎只在应用程序首选 STREAM 的上下文中处理 STREAM。

我使用的源是 Ice Cream Sandwich 4.0.3。

最佳答案

解决方案似乎是将“config_voice_capable”设置为 false。该值位于 frameworks/base/core/res/res/values/config.xml

我使用覆盖将“config_voice_capable”设置为 false,然后构建 rom。

设备启动后,音量控制不再默认为 RINGER 流。我找不到关于这方面的差异的文档 table 和支持电话的设备,但该解决方案有效。

关于android - 在自定义 Android 中如何覆盖 STREAM_RING 作为响应音量按钮的默认 AudioService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14739652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com