iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >React Native之如何实现Android的返回键BackAndroid
  • 442
分享到

React Native之如何实现Android的返回键BackAndroid

reactnativeandroid 2023-05-30 19:05:58 442人浏览 安东尼
摘要

这篇文章主要介绍React Native之如何实现Android的返回键BackAndroid,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码:// BackAndroidTool //&nbs

这篇文章主要介绍React Native之如何实现Android的返回键BackAndroid,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

代码:

// BackAndroidTool // 功能: "安卓手机上的返回键" // Created by 小广 on 2016-05-10 下午. // Copyright © 2016年 All rights reserved.   'use strict'; import React,{  PlatfORM,  Navigator,  BackAndroid,  ToastAndroid,  NativeModules, } from 'react-native';  // 类 var NativeCommonTools = NativeModules.CommonTools;  export default {  // 监听返回键事件  addBackAndroidListener(navigator) {  if (Platform.OS === 'android') {   BackAndroid.addEventListener('hardwareBackPress',() => {    return this.onBackAndroid(navigator);   });  }  },   // 移除监听  removeBackAndroidListener() {  if (Platform.OS === 'android') {   BackAndroid.removeEventListener('hardwareBackPress', () => {   });  }  },   // 判断是返回上一页还是退出程序  onBackAndroid(navigator) {  if (!navigator) return false;  const routers = navigator.getCurrentRoutes();  // 当前页面不为root页面时的处理  if (routers.length > 1) {   const top = routers[routers.length - 1];   if (top.ignoreBack || top.component.ignoreBack) {    // 路由或组件上决定这个界面忽略back键    return true;   }   const handleBack = top.handleBack || top.component.handleBack;   if (handleBack) {    // 路由或组件上决定这个界面自行处理back键    return handleBack();   }  // 默认行为: 退出当前界面。   navigator.pop();   return true;   }  // 当前页面为root页面时的处理  if (this.lastBackPressed && (this.lastBackPressed + 2000 >= Date.now())) {    //最近2秒内按过back键,可以退出应用。    NativeCommonTools.onBackPressed();    return true;   }   this.lastBackPressed = Date.now();   ToastAndroid.show('再按一次退出应用',ToastAndroid.SHORT);   return true;  },   // 自定义返回按钮事件  customHandleBack(navigator, handleBack) {  if (navigator) {   let routes = navigator.getCurrentRoutes(); //nav是导航器对象   let lastRoute = routes[routes.length - 1]; // 当前页面对应的route对象   lastRoute.handleBack = handleBack;  }  },  }

其中的java原生代码如下:

管理类:RCTCommonToolsPackage (ps:如是不明白,可以去这里 React Native学习:Http://reactnative.cn/docs/0.25/native-modules-android.html#content);

package com.commonTools;  import com.facebook.react.ReactPackage; import com.facebook.react.bridge.javascriptModule; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.uimanager.ViewManager;  import java.util.Arrays; import java.util.Collections; import java.util.List;  public class RCTCommonToolsPackage implements ReactPackage {  @Override  public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {  return Arrays.<NativeModule>asList(new RCTCommonTools(reactContext));  }   @Override  public List<Class<? extends JavaScriptModule>> createjsModules() {  return Collections.emptyList();  }   @Override  public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {  return Collections.emptyList();  } }

自定义方法的类:RCTCommonTools

package com.commonTools;  import android.content.Intent;  import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod;  import com.tcpaydls.BuildConfig;  public class RCTCommonTools extends ReactContextBaseJavaModule {   public RCTCommonTools(ReactApplicationContext reactContext) {  super(reactContext);  }   @Override  public String getName() {  return "RCTCommonTools";  }     @ReactMethod  public void onBackPressed() {  Intent setIntent = new Intent(Intent.ACTION_MaiN);  setIntent.addCateGory(Intent.CATEGORY_HOME);  setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  getCurrentActivity().startActivity(setIntent);    } }

以上是“React Native之如何实现Android的返回键BackAndroid”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: React Native之如何实现Android的返回键BackAndroid

本文链接: https://www.lsjlt.com/news/220625.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • React Native之如何实现Android的返回键BackAndroid
    这篇文章主要介绍React Native之如何实现Android的返回键BackAndroid,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码:// BackAndroidTool //&nbs...
    99+
    2023-05-30
    reactnative android
  • React-Native中如何实现禁用Navigator手势返回
    这篇文章给大家分享的是有关React-Native中如何实现禁用Navigator手势返回的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在React-Native开发中,经常会用...
    99+
    2024-04-02
  • React Native中Android物理back键按两次返回键即退出应用
    前言本文主要给大家介绍了关于React Native中Android物理back键按两次返回键就会退出应用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。话不多说,直接上图:测试代码第16~22行 设置事件监听以...
    99+
    2023-05-30
    reactnative android 返回键
  • 如何解决react-native WebView返回处理问题
    这篇文章主要介绍了如何解决react-native WebView返回处理问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.前言项目中有...
    99+
    2024-04-02
  • react如何实现返回顶部
    这篇文章主要介绍了react如何实现返回顶部的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react如何实现返回顶部文章都会有所收获,下面我们一起来看看吧。react实现返回顶部的方法:1、创建一个函数式组件“...
    99+
    2023-07-04
  • React Native之在Android上添加阴影的实现
    目录在Android上添加阴影目前有个方法总结在Android上添加阴影 官网中明确表示在react native中阴影的样式属性shadow...都是只支持iOS的,并不支持And...
    99+
    2023-03-12
    React Native Android添加阴影 Android阴影
  • Android onbackpressed如何实现返回键的拦截和弹窗
    这篇“Android onbackpressed如何实现返回键的拦截和弹窗”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2023-07-04
  • React Native之如何在Android上添加阴影
    这篇文章主要介绍“React Native之如何在Android上添加阴影”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React Native之如何在Android上添加阴影”...
    99+
    2023-07-05
  • Android 应用中如何实现按返回键后台运行
    这篇文章将为大家详细讲解有关Android 应用中如何实现按返回键后台运行,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Android应用开发按下返回键退向后台运行我们日常使用的很多Andr...
    99+
    2023-05-31
    android 返回键 后台运行
  • 如何在Android应用中实现一个返回键功能
    今天就跟大家聊聊有关如何在Android应用中实现一个返回键功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除...
    99+
    2023-05-31
    android roi
  • 如何实现react-native聊天室
    这篇文章将为大家详细讲解有关如何实现react-native聊天室,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言最近都沉浸在react native原生app开发...
    99+
    2024-04-02
  • React Native如何实现Flexbox布局
    这篇文章给大家分享的是有关React Native如何实现Flexbox布局的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex 是 Flexible Box 的缩写,意为”弹...
    99+
    2024-04-02
  • Android 13.0 USB鼠标右键改成返回键的功能实现
    1.概述 在13.0设备定制化开发中,产品有好几个usb口,用来可以连接外设,所以USB鼠标通过usb口来控制设备也是常见的问题,在window系统中,鼠标右键是返回键的功能,可是android原生的系统 鼠标右键不是返回键根据产品开发需要...
    99+
    2023-10-21
    android java 鼠标右键 usb鼠标 framework
  • 如何实现React Native屏幕适配
    这篇文章给大家分享的是有关如何实现React Native屏幕适配的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。屏幕适配的前置知识RN 中的尺寸单位为 dp,而设计稿中的单位为 ...
    99+
    2024-04-02
  • react native路由跳转如何实现
    这篇文章主要讲解了“react native路由跳转如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react native路由跳转如何实现”吧!react native路由跳转的实现...
    99+
    2023-07-04
  • React-Native如何实现ListView组件之上拉刷新功能
    这篇文章给大家分享的是有关React-Native如何实现ListView组件之上拉刷新功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。思路:1、常量定义:const ...
    99+
    2024-04-02
  • Android双击返回键退出程序怎么实现
    要实现Android双击返回键退出程序,你可以使用以下方法:1. 在你的Activity中创建一个变量`lastBackPressT...
    99+
    2023-08-23
    Android
  • MyBatis insert实体如何返回主键
    目录insert实体如何返回主键一、insert 属性详解二、Mapper接口三、执行mapper.xml 返回主键四、测试结果六、批量插入七、小结一下Mybatis添加记录,返回主...
    99+
    2024-04-02
  • Android仿iOS如何实现侧滑返回功能
    这篇文章将为大家详细讲解有关Android仿iOS如何实现侧滑返回功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先上个效果再说:原理Activity 本身是不可以滑动的,但是我们可以制造一个正在滑动 ...
    99+
    2023-05-30
  • Android 拦截返回键事件的实例详解
    Android 拦截返回键事件的实例详解KeyEvent类Android.View.KeyEvent类中定义了一系列的常量和方法,用来描述Android中的按键事件和返回键有关的常量和方法有。 KeyEvent.KEYCODE_BACK...
    99+
    2023-05-30
    android 拦截 返回键
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作