猿问

防止后处理程序最小化应用程序

按下设备上的后退按钮时,如何防止应用程序最小化/退出?


在我的设备上按下返回按钮时,我试图分配“浏览器返回”功能,这是我的代码:


import 'react-native-get-random-values';

import React, { useState, useRef, Component, useEffect  } from 'react'

import {

  Alert,

  SafeAreaView,

  StyleSheet,

  StatusBar,

  View,

  Text,

  ScrollView,

  BackHandler,

  RefreshControl

} from 'react-native'

import WebView from 'react-native-webview'

import Icon from 'react-native-vector-icons/FontAwesome';

import { Button } from 'react-native-elements';




const App = () => {

  function backButtonHandler(){}

  function refreshHandler(){

    if (webviewRef.current) webviewRef.current.reload()

  }


  useEffect(() => {

    BackHandler.addEventListener("hardwareBackPress", backButtonHandler);

    return () => {

      BackHandler.removeEventListener("hardwareBackPress", backButtonHandler);

    };

  }, [backButtonHandler]);



  let jscode = `window.onscroll=function(){window.ReactNativeWebView.postMessage(document.documentElement.scrollTop||document.body.scrollTop)}`;

  const [canGoBack, setCanGoBack] = useState(false)

  const [currentUrl, setCurrentUrl] = useState('')

  const [refreshing, setRefreshing] = useState(false);

  const [scrollviewState, setEnableRefresh] = useState(false);

  const webviewRef = useRef(null)

  const scrollviewRef = useRef(false)


  backButtonHandler = () => {

    if (webviewRef.current) webviewRef.current.goBack()

  }


我的问题是当我按下设备上的后退按钮时,它确实调用了backButtonHandler函数并且我的 webview 导航回来,但同时应用程序也最小化了..有没有办法防止这种情况?


倚天杖
浏览 131回答 1
1回答

慕斯709654

将您的 backButtonHandler 方法更改为仅返回 true,当您的 backHandler 方法返回 true 时,它实际上什么也不做 onPress Back button :  backButtonHandler = () => {    return true;  }
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答