是否有可能完全在Flutter中处理由音量增大/减小引起的事件?

问题描述 投票:1回答:1

是否可以在Flutter中完全拦截由硬件按钮生成的事件?例如,如果应用程序处于活动状态并且按下了音量调高/调低按钮,则可以在应用程序中拦截该事件,以应用程序特定的方式处理该事件,最重要的是防止该事件被系统进一步处理,从而使实际上会调高/调低音量并显示系统对话框/弹出窗口以显示调高/调低音量的默认行为不会发生?

我尝试使用hardware_buttons flutter库/插件。它使我可以在按下按钮时做出反应,但事件仍会传播,因此系统也可以按常规方式处理它们。

提前感谢您的建议!

android ios button flutter volume
1个回答
0
投票

此插件可以为您提供帮助,它支持音量按钮事件和电源按钮事件,请查看here

这里是示例

import 'package:hardware_buttons/hardware_buttons.dart';

StreamSubscription _volumeButtonSubscription;

@override
void initState() {
  super.initState();
  _volumeButtonSubscription = volumeButtonEvents.listen((VolumeButtonEvent event) {
    // do something
    // event is either VolumeButtonEvent.VOLUME_UP or VolumeButtonEvent.VOLUME_DOWN
  });
}

@override
void dispose() {
  super.dispose();
  // be sure to cancel on dispose
  _volumeButtonSubscription?.cancel();
}
© www.soinside.com 2019 - 2024. All rights reserved.