-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make default showVolumeUI configurable #43
Comments
|
@c19354837 that doesn't seem to work for me. It'd be really nice to have this as a configurable open on initialize :) |
How about the example? |
That would only be when you're changing the volume. But if you're only using the library to listen to the volume changes, then |
Do you mean that hide the system volume UI when you press volume up/down buttons? |
@c19354837 I mean, we should be able to see the system volume UI when the up/down volume buttons are pressed if we're only using |
Agreed, with a volume listener this library will hide the default UI |
I reproduce in iOS, while Android is OK. Have you tested it in Android @amsul @alexfigliolia ? |
@c19354837 nope..I only checked iOS. Is there an easy way to resolve this? |
V 1.5.1 is available. It'll show volume UI by default for iOS when you press the physical volume button
|
@c19354837 awesome!! Thanks for the quick release 🙏 |
For Android, when I press the physical volume button, how can i hide the system Volum UI with a volume listener ? |
For Android, you can add these codes in public class MainActivity extends ReactActivity {
@Override
protected String getMainComponentName() {
return "SystemSettingExample";
}
// hide the system volume UI
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
manager.adjustVolume(AudioManager.ADJUST_LOWER, 0);
}
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP)) {
AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
manager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
}
return true;
}
} |
@c19354837 thanks~ |
@c19354837 Thank you for quick fix |
@c19354837 Sorry to bother you.. this code makes android hardware backButton not working properly // hide the system volume UI
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
manager.adjustVolume(AudioManager.ADJUST_LOWER, 0);
}
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP)) {
AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
manager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
}
return true;
} |
I found a solution import android.os.Bundle;
import org.devio.rn.splashscreen.SplashScreen;
import android.view.KeyEvent;
import android.media.AudioManager;
import android.content.Context;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactInstanceManager;
public class MainActivity extends ReactActivity {
private ReactInstanceManager mReactInstanceManager;
/**
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/
.....
// hide the system volume UI
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mReactInstanceManager != null) {
mReactInstanceManager.onBackPressed();
} else {
super.onBackPressed();
}
}
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
manager.adjustVolume(AudioManager.ADJUST_LOWER, 0);
}
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
manager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
}
return true;
}
} |
Thank you. It's my fault, and my codes will block any key event. The right codes can be public class MainActivity extends ReactActivity {
@Override
protected String getMainComponentName() {
return "SystemSettingExample";
}
// hide the system volume UI
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
manager.adjustVolume(AudioManager.ADJUST_LOWER, 0);
return true;
}
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP)) {
AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
manager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
return true;
}
return super.onKeyDown(keyCode, event);
}
} |
@c19354837 really appriciate it 👍 |
Would be handy to define if the volume ui feedback is shown by default, now if you just want to track volume and nothing else, the volume feedback is suppressed.
It would be nice to be able to set if the ui is shown initially, since it is always turned off once you load react-native-system-setting.
The text was updated successfully, but these errors were encountered: