返回顶部
首页 > 资讯 > 精选 >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://lsjlt.com/news/220625.html(转载时请注明来源链接)

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

猜你喜欢
  • 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
  • Android实现返回键功能
    记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除),使用LinkedList 捕获用户的返回键操作,响应返回键,返回上一个界面 MainActivity...
    99+
    2022-06-06
    Android
  • 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
  • Android返回键功能的实现方法
    本文实例讲述了Android返回键功能的实现方法。分享给大家供大家参考。具体如下: 在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KE...
    99+
    2022-06-06
    方法 Android
  • Android实现返回键操作思路
    记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除),使用LinkedList 捕获用户的返回键操作,响应返回键,返回上一个界面 MainActivity...
    99+
    2022-06-06
    Android
  • React Native之如何在Android上添加阴影
    这篇文章主要介绍“React Native之如何在Android上添加阴影”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React Native之如何在Android上添加阴影”...
    99+
    2023-07-05
  • 如何实现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应用中实现一个返回键功能
    今天就跟大家聊聊有关如何在Android应用中实现一个返回键功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除...
    99+
    2023-05-31
    android roi
  • Android 应用中如何实现按返回键后台运行
    这篇文章将为大家详细讲解有关Android 应用中如何实现按返回键后台运行,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Android应用开发按下返回键退向后台运行我们日常使用的很多Andr...
    99+
    2023-05-31
    android 返回键 后台运行
  • 如何实现React Native屏幕适配
    这篇文章给大家分享的是有关如何实现React Native屏幕适配的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。屏幕适配的前置知识RN 中的尺寸单位为 dp,而设计稿中的单位为 ...
    99+
    2024-04-02
  • react native路由跳转如何实现
    这篇文章主要讲解了“react native路由跳转如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react native路由跳转如何实现”吧!react native路由跳转的实现...
    99+
    2023-07-04
  • Android实现点击两次返回键退出
    在做安卓应用是我们经常要判断用户对返回键的操作,一般为了防止误操作都是在用户连续按下两次返回键的时候提示用户是否退出应用程序。 第一种实现的基本原理就是,当按下BACK键时,会...
    99+
    2022-06-06
    Android
  • Android 13.0 USB鼠标右键改成返回键的功能实现
    1.概述 在13.0设备定制化开发中,产品有好几个usb口,用来可以连接外设,所以USB鼠标通过usb口来控制设备也是常见的问题,在window系统中,鼠标右键是返回键的功能,可是android原生的系统 鼠标右键不是返回键根据产品开发需要...
    99+
    2023-10-21
    android java 鼠标右键 usb鼠标 framework
  • React-Native如何实现ListView组件之上拉刷新功能
    这篇文章给大家分享的是有关React-Native如何实现ListView组件之上拉刷新功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。思路:1、常量定义:const ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作