zoukankan      html  css  js  c++  java
  • React Native 适配Android物理返回键,实现连续两次点击退出

    一直使用iPhone作为测试机开发,提交给测试同事Android版本后发现很多适配问题,其中一个非常明显的是,弹出一个modal后,点击Android的返回键,modal不会消失,直接navigation goBack了
    在Android端需要处理物理按键事件 , 另外可以实现连续两次点击退出APP的功能
     componentDidMount(): void {
           //挂载完,添加返回按键的监听
            BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
        }
    
    
        componentWillUnmount(): void {
            //页面销毁时取消监听,防止内存泄漏
            BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);
        }
    
        handleBackPress = () => {
            if (this.props.navigation.isFocused()) {
           //判断modal是否正在显示
            if(this.state.modalVisible){
              this.setState({modalVisible:false});
              return true;
            }
    if (this.lastBackPressed && this.lastBackPressed + 2000 >= Date.now()) { //最近2秒内按过back键,表示用户想退出应用。 BackHandler.exitApp(); return true; } this.lastBackPressed = Date.now(); ToastAndroid.show('再按一次退出应用', ToastAndroid.SHORT); //提示再次按返回触发 return true; } };
  • 相关阅读:
    Python iter() 函数
    Python file() 函数
    Python bin() 函数
    QTP自动化测试-打开运行报告
    mysql-笔记-数据类型
    mysql-笔记--增删改查
    mysql-笔记-命名、索引规范
    Navicat for MySQL 安装和破解
    mysql client--笔记-修改密码-登录-查看数据库-创建数据库
    安装mysql
  • 原文地址:https://www.cnblogs.com/gloryhope/p/12750690.html
Copyright © 2011-2022 走看看