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返回键监听的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 余弦信号频谱表达式_信号傅里叶变换系列文
- 下一篇: android屏幕适配流程,Androi