Javascript react本机安全区域上下文在Android 8及以下版本上有效吗?

Javascript react本机安全区域上下文在Android 8及以下版本上有效吗?,javascript,react-native,statusbar,android-9.0-pie,safeareaview,Javascript,React Native,Statusbar,Android 9.0 Pie,Safeareaview,我试过了书中提到的东西 我在三星安卓9上运行该应用程序,它的工作情况与预期相符。 但在我的带有安卓8的oppo设备中,插入的都是0。 我使用的是react native 0.61 这是我的根组件 import React from 'react'; import { StatusBar, Platform } from 'react-native'; import { Provider } from 'react-redux'; import { PersistGate } from 'redu

我试过了书中提到的东西 我在三星安卓9上运行该应用程序,它的工作情况与预期相符。 但在我的带有安卓8的oppo设备中,插入的都是0。 我使用的是react native 0.61

这是我的根组件

import React from 'react';
import { StatusBar, Platform } from 'react-native';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/es/integration/react';
import { SafeAreaProvider } from 'react-native-safe-area-context';

import { store, persistor } from './common/StoreBuilder';
import Routes from './routes/index';


if (Platform.OS === 'android') StatusBar.setHidden(true);

const App = () => (

<Provider store={store}>
  <PersistGate persistor={persistor}>
  <SafeAreaProvider><Routes /></SafeAreaProvider>
  </PersistGate>
</Provider>

);

export default App;
<SafeAreaConsumer>
    {insets => {
      return  <View style={{
        flex: 1,
        paddingTop: insets.top,
        paddingLeft: insets.left,
        paddingBottom: insets.bottom,
        paddingRight: insets.right,
      }}>
        <Router>
          <Stack key="root" hideNavBar>
            ...
          </Stack>
        </Router>
        <MessageContainer />
      </View>
    }}

  </SafeAreaConsumer> 
从“React”导入React;
从“react native”导入{StatusBar,Platform};
从'react redux'导入{Provider};
从'redux persist/es/integration/react'导入{PersistGate};
从“react native safe area context”导入{SafeAreaProvider};
从“./common/StoreBuilder”导入{store,persistor};
从“./Routes/index”导入路由;
if(Platform.OS==='android')StatusBar.setHidden(true);
常量应用=()=>(
);
导出默认应用程序;
这是我的消费者,它是上述组件的直接子级

import React from 'react';
import { StatusBar, Platform } from 'react-native';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/es/integration/react';
import { SafeAreaProvider } from 'react-native-safe-area-context';

import { store, persistor } from './common/StoreBuilder';
import Routes from './routes/index';


if (Platform.OS === 'android') StatusBar.setHidden(true);

const App = () => (

<Provider store={store}>
  <PersistGate persistor={persistor}>
  <SafeAreaProvider><Routes /></SafeAreaProvider>
  </PersistGate>
</Provider>

);

export default App;
<SafeAreaConsumer>
    {insets => {
      return  <View style={{
        flex: 1,
        paddingTop: insets.top,
        paddingLeft: insets.left,
        paddingBottom: insets.bottom,
        paddingRight: insets.right,
      }}>
        <Router>
          <Stack key="root" hideNavBar>
            ...
          </Stack>
        </Router>
        <MessageContainer />
      </View>
    }}

  </SafeAreaConsumer> 

{插图=>{
返回
...
}}

您能在另一台Android 8或更低版本的设备上试用吗?如果没有,可以使用Genymotion。它正在为我的项目工作。还有什么需要补充的吗?或者我错过了什么。你能分享你的代码吗?HeaderClassicSearchBar使用它:)你可以查看它。我找到了两台设备上行为不同的原因。这里有一个链接指向我的解决方案:这是因为Android9上面和下面的android版本不同。您可以查看自述文件。