Comments (3)
Hi @nexussmart ,
In normal Android development(i.e. native Android), it is very easy to detect volume button events without requesting ACTION_MANAGER_OVERLAY_PERMISSION that we request here. You can just override onKeyDown method in your Activity.
However, flutter plugin environment provides very limited api, and there was no easy way to implement volume detection except what we did in this plugin. So.. as far as it seems now, ACTION_MANAGER_OVERLAY_PERMISSION is necessary.
Besides, the link you shared with us is only for Cordova, and its development environment is different from that of flutter plugin, so it couldn't be our option :(
Thanks.
from flutter_hardware_buttons.
Hi @giantsol,
I override the mainactivity to detect event key Volume Up and Down :
`
public static final String STREAM = "com.enterprise.eventkeychannel/stream";
private EventChannel.EventSink eventSink = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
new EventChannel(getFlutterView(), STREAM).setStreamHandler(
new EventChannel.StreamHandler() {
@Override
public void onListen(Object args, final EventChannel.EventSink events) {
eventSink = events;
}
@Override
public void onCancel(Object args) {
eventSink = null;
}
}
);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
if( eventSink != null) { eventSink.success(0); }
} else {
if(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) {
if( eventSink != null) { eventSink.success(1); }
}
}
return super.dispatchKeyEvent(event);
}`
from flutter_hardware_buttons.
Yep, that's exactly what you can do if it's your own app.
However, in our case, as we're developing a plugin, we cannot override your(or other app's) MainActivity, so we can't take the easy way that you just implemented.
You just wrote your own EventChannel!
Congratulations! ๐ช๐ป
from flutter_hardware_buttons.
Related Issues (20)
- Detect lock button other way.
- Not detect event volume HOT 9
- Kotlin Migration HOT 3
- Use on background service HOT 2
- Intercept hardware button events completely? HOT 14
- How to detect Longpress of hardware button HOT 1
- recent app HOT 1
- not working in Android v10. HOT 5
- [iOS] App rejected because access Private API com.apple.springboard.lockcomplete HOT 2
- [iOS] audioSession.removeObserver error HOT 1
- Volume button and power button not being detected on iOS 13.5
- Doesn't seem to work at all on MIUI (Global 11.0.6.0) HOT 3
- How to convert swift functions to 4.0
- Listen for multiple button presses
- Detect volume raising and falling edge
- Execution failed for task ':hardware_buttons:compileDebugKotlin'. > Compilation error. See log for more details HOT 6
- No detecta el Evento del Botรณn Bloqueo/Encendido
- I am building an app that would act as a remote for presentations. I would like to use the volume buttons to trigger some sort of event. Can I capture hardware button clicks in flutter?
- This plugin is deprecated :( We're no longer able to maintain it HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter_hardware_buttons.