我想得到这个:听硬件键(例如音量键)但阻止它默认行为(例如我按音量键>我的应用程序对此使用react>但音量应该而不是改变)。
这在 Java android 中很容易,但我无法在 FLutter 中停止此事件。
这是演示代码:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart' as serv;
void main() => runApp(MaterialApp(home: MyApp()));
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
serv.RawKeyboard.instance.addListener((serv.RawKeyEvent k){
print(k);
});
return Scaffold(body: SafeArea(
child: Text("TEST"),
),);
}
}
但是当我按下音量按钮时,音量也会改变。
如何阻止这种情况?
最佳答案
好的,我找到了解决方案
https://api.flutter.dev/flutter/widgets/Shortcuts-class.html
有一个小部件Shortcuts
和 Actions
是通过硬件键发送的 Intent 的消费者。
关于android - Flutter - 监听硬件按键。防止默认行为,android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53667704/