Java 如何防止蓝牙连接上的音量变化?

Java 如何防止蓝牙连接上的音量变化?,java,android,android-intent,broadcastreceiver,android-audiomanager,Java,Android,Android Intent,Broadcastreceiver,Android Audiomanager,我想以某种方式阻止蓝牙在连接和断开连接时更改音量。我只想让他们呆在原地。我该怎么做呢?我知道如何运行服务,也可以设置侦听器,但以下操作无效: final IntentFilter bluetoothConnectedFilter = new IntentFilter( BluetoothDevice.ACTION_ACL_CONNECTED ); bluetoothConnectedReceiver = new BroadcastReceiver() { @Ove

我想以某种方式阻止蓝牙在连接和断开连接时更改音量。我只想让他们呆在原地。我该怎么做呢?我知道如何运行服务,也可以设置侦听器,但以下操作无效:

    final IntentFilter bluetoothConnectedFilter = new IntentFilter( BluetoothDevice.ACTION_ACL_CONNECTED );
    bluetoothConnectedReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive( Context context, Intent intent ) {
             // Change volumes programmatically (code already tested and working elsewhere)
        }
    };

感谢您的帮助。

尝试将音量值保存在变量中,并在蓝牙连接或/或断开连接时使用该值。请参考这一点,因为它可能会有帮助。现在,当我尝试在Bluetooth设备上强制系统上设置值时。ACTION_ACL_CONNECTED仍然不起作用。根据测试,我相信这是因为动作发生在音量变化之前。我曾尝试使用处理程序将操作延迟一秒钟,但结果不一致。有人能以可靠的方式帮我做到这一点吗?在您的代码中连接蓝牙后,您是否强制更改音量?上面的代码就是我在onReceive方法中使用的代码:
audioManager.setStreamVolume(audioManager.STREAM\u MUSIC,MUSIC volume,audioManager.FLAG\u REMOVE\u SOUND\u AND\u VIBRATE)
什么类型的变量是
musicVolume
以及它具体存储了什么?…嗯,也许可以尝试记录
musicVolume
以查看连接前后它是什么。。。