android - 当我按下音量减小按钮时,音量减小和音量增大都按下 android 演播室广播接收器

我正在尝试检测是否在 android

中单击了提高音量或降低音量按钮,但是当我运行代码并测试应用程序时,按下提高音量按钮可以正常工作

但是当我按下音量降低时,音量也会按下。

这是我的代码:

public class VolumeKeyChangeListener extends BroadcastReceiver {

    int previousValue = 0, currentValue = 0;

    @Override
    public void onReceive(Context context, Intent intent) {
        currentValue = (Integer) intent.getExtras().get("android.media.EXTRA_VOLUME_STREAM_VALUE");
        //        Log.e("current value", "tis" + currentValue);
        //        Log.e("previous value", "tis" + previousValue);

        if (currentValue >= previousValue && currentValue != 0)
        {
            Log.e("Volume up pressed", "message" + currentValue);
            HandleBasicRequest.notifyVLC(context.getApplicationContext(), "volume&val=+10");
        }
        else
        {
            Log.e("Volume down pressed", "message" + currentValue);
            HandleBasicRequest.notifyVLC(context.getApplicationContext(), "volume&val=-10");
        }
        previousValue = currentValue;
        currentValue = 0;
    }
}

如果你问我为什么我使用 currentValue != 0 这是因为当用户点击音量按钮并且 value 为 0 这意味着他/她正在按下音量

回答1

您可以轻松地在以前的 values 和当前的 values 之间做出区别。只做

int delta = previous - current;
if(delta < 0)
{
  //you are pressing volume up
}
else if(delta > 0)
{
 // you are pressing volume down
}

我希望这个答案能解决你的问题

相似文章

android - Android 工具栏不显示

我正在尝试创建一个工具栏。我打电话:setSupportActionBar(binding.appBarMain.toolbar);但是,应用程序顶部没有任何内容。这是我的工具栏xml:<?xmlve...

最新文章