3

Google ドキュメントには、アプリが何も再生していない場合、音量キーを押すと着信音の音量が調整されると記載されています。http://developer.android.com/training/managing-audio/volume-playback.html#HardwareVolumeKeysを参照してください。

ソースからカスタムビルドを作成することにより、STREAM_RING(STREAM_MUSICなど)以外のこの「デフォルト」の動作を変更できると確信しています。変化する。(これは、デバイスに電話がないため、呼び出し音量がノーオペレーションであるためです)。

Launcher コードを確認しましたが、音量ボタンが AudioManager を介して STREAM_RING に向けられている/消費されていることがわかりません (少なくとも私にはわかりません)。また、「設定」でボリュームボタンがSTREAM_RINGを変更すると、「アプリケーションフレームワークまたはAndroidランタイムで「チェーンを上る」または「スタックを下る」何かがあるとさらに信じられます。

STREAM_RING をチャネルとして、AudioManager への VOLUME のディスパッチを処理する「より高い」アクティビティまたはシステム プロセスが実行されていますか? または、AudioManager 内に、STREAM_MUSIC に対する VOLUME の変更を処理するように設定できるものがありますか (これは、アプリケーションが優先する STREAM のコンテキストでのみ STREAM を処理するように見えるため、ソースからはありそうにありません。

私が使用しているソースは Ice Cream Sandwich 4.0.3 です。

4

1 に答える 1

2

解決策は、「config_voice_capable」をfalseに設定しているようです。この値はframeworks/base / core / res / res / values/config.xmlにあります

オーバーレイを使用して「config_voice_capable」をfalseに設定してから、ROMをビルドしました。

デバイスの起動後、ボリュームコントロールはデフォルトでRINGERストリームになりません。テーブルと電話対応デバイスの違いに関するドキュメントを見つけることができませんでしたが、解決策は機能します。

于 2013-02-27T15:17:51.330 に答える