デフォルトでは、android はヘッドフォンとスピーカーに異なる音量を保存して設定します。Android 2.1では発生していませんが、Android 2.3以降に気付きました。どうにかしてこの振る舞いを取り除く必要があります。何かご意見は?
ボリューム管理アプリケーションを開発していますが、これはアプリでユーザーが設定したボリュームをいじっています。Andorid 2.1 以降。
わかりました、誰も答えなかったので、少なくともこれを解決するために私がやったことを共有します.
私は2つのサービスを作成しました(私はすでにそれらを持っていましたが、それらの動作を変更しただけです)。Intent.ACTION_HEADSET_PLUG a のブロードキャスト レシーバーを登録し、プラグを抜いたブロードキャストが到着すると、アプリケーションの共有設定に保存されているボリュームを設定するため、Android が自動的に行ったボリュームの変更を上書きします。2 番目のサービスは、次のように設定変更のオブザーバーを登録します。
getContentResolver().registerContentObserver(
android.provider.Settings.System.CONTENT_URI, true, observer);
とりわけ、このオブザーバーは、現在の音量レベルをアプリケーションの共有設定 (最初のサービスで使用) に保存します。さらに、Androidが上記の音量の自動変更を行っている場合、このオブザーバーは呼び出されないようです。これは良いことです。