0

Android 4.xでは、着信音量を0に設定できないことに気付きました。このコードを実行してから、[設定]->[サウンド]->[ボリューム]に移動すると、1に設定されていることがわかります。

audiomanager.setStreamVolume(AudioManager.STREAM_RING, 0, 0);

なぜなのかご存知ですか?audiomanager.setRingerMode(RINGER_MODE_SILENT)を使用できることは知っていますが、イライラします!! この場合、音を再びアクティブにするためにバイブレーションがオンまたはオフになっているかどうかを「覚えておく」必要があるためです。

もちろん、これはすべて他のAndroidバージョンでも機能します。

4

2 に答える 2

1

setStreamMute()は、プロセスのライフサイクルに奇妙な副作用があるため、使用しないでください。ドキュメントを参照してください:

muteコマンドは、クライアントプロセスの停止から保護されています。ストリームでアクティブなミュート要求があるプロセスが停止すると、このストリームは自動的にミュート解除されます。

RINGER_SILENTまたはRINGER_VIBRATEのいずれかを使用したsetRingerMode() が、ストリームボリュームをゼロにする効果があるのではないかと心配しています。

于 2013-08-16T17:30:42.593 に答える
0

代わりにsetStreamMuteを試してください。これは、ボリュームを0に設定するのと同じです。

于 2012-07-01T17:06:05.323 に答える