android删除键监听,「React Native」Android返回键监听
在需要做監聽的js中添加
componentWillMount() {
if (Platform.OS === 'android') {
BackHandler.addEventListener('hardwareBackPress', this.onBackHandler);
}
}
componentWillUnmount() {
if (Platform.OS === 'android') {
BackHandler.removeEventListener('hardwareBackPress', this.onBackHandler);
}
}
onBackHandler = () => {
// this.onMainScreen and this.goBack are just examples, you need to use your own implementation here
// Typically you would use the navigator here to go to the last state.
if (!this.onMainScreen()) {
this.goBack();
return true;
}
return false;
};
RN的容器Activity實現DefaultHardwareBackBtnHandler接口
public class XXXActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler {
//...
private ReactInstanceManager mReactInstanceManager;
@Override
public void invokeDefaultOnBackPressed() {
if (mReactInstanceManager != null) {
mReactInstanceManager.onBackPressed();
} else {
super.onBackPressed();
}
}
//...
}
RN的容器為Fragment時,DefaultHardwareBackBtnHandler沒起作用
這時我們需要在該Fragment中添加接收返回事件的代碼
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (mReactInstanceManager != null) {
switch (keyCode) {
//...
case KeyEvent.KEYCODE_BACK: {
mReactInstanceManager.onBackPressed();
return true;
}
}
}
return false;
}
并且在Activity中向該Fragment注入onkeyUp事件
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return fragment.onKeyUp(keyCode, event) || super.onKeyUp(keyCode, event);
}
總結
以上是生活随笔為你收集整理的android删除键监听,「React Native」Android返回键监听的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 余弦信号频谱表达式_信号傅里叶变换系列文
- 下一篇: gps卫星位置计算程序matlab_科研