标签: react-native-navigation

深层链接启动Splash Activity而不是Main Activity

我按照本指南 - Splash屏幕以正确的方式为我的Android应用程序创建了一个Splash屏幕,所以现在我有2个活动(MainActivity和SplashActivity)

问题是Deep Links错过现在的行为,而不是启动MainActivity它们启动它SplashActivity.

SplashActivity除了应用程序启动时,我不希望它出现.

我能做什么?

SplashActivity:

public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}
Run Code Online (Sandbox Code Playgroud)

主要活动:

public class MainActivity extends SplashActivity implements OnImagePickerPermissionsCallback {

    private PermissionListener listener;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public void setPermissionListener(PermissionListener listener)
    {
        this.listener = listener;
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
    {
        if …
Run Code Online (Sandbox Code Playgroud)

java android deep-linking android-manifest react-native-navigation

8
推荐指数
1
解决办法
2293
查看次数

如何通过设备锁定屏幕冷启动React Native应用程序?

我正在React Native上构建VoIP应用程序,该应用程序使用推送通知检测来电。我需要启动应用程序,并在收到推送通知时将其置于前台。我能够在以下情况下实现:

  1. 解锁设备后:
    • 该应用程序已最小化(仍在后台)
    • 该应用程序不在后台(从多任务视图中删除)
  2. 设备锁定时:
    • 该应用程序已最小化(仍在后台)

我无法处理的唯一情况是设备被锁定并且应用被杀死时。该应用程序启动,但未显示在锁定屏幕上。相反,用户需要解锁手机才能访问应用程序。

这是收到通知时运行的代码,

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    Intent notificationIntent = new Intent(this, MainActivity.class);
    // Check if app is running

    if(MainActivity.isAppRunning) {
        startActivity(notificationIntent);
        Intent messagingEvent = new Intent(MESSAGE_EVENT);
        messagingEvent.putExtra("message", remoteMessage);
        // Broadcast it so it is only available to the RN Application
        LocalBroadcastManager
                .getInstance(this)
                .sendBroadcast(messagingEvent);
    } else {
        startActivity(notificationIntent);
        try {
            // If the app is in the background we send it to the Headless JS Service
            Intent headlessIntent = new Intent(
                    this.getApplicationContext(), …
Run Code Online (Sandbox Code Playgroud)

java android react-native react-native-android react-native-navigation

8
推荐指数
1
解决办法
619
查看次数

转换到新屏幕时白色闪烁,背景是深色?

在使用两个不同的导航器从一个屏幕转换到另一个屏幕时,我遇到了这种情况: ex-navigation 和新的 React Navigation 。有白色闪烁一秒钟(或半秒钟)。在寻找解决方案时,我发现其他导航器也有同样的问题。例如来自 wix HERE的导航器 。从链接:

好的,问题是,React 样式在导航开始后应用,默认情况下 backgroundColor 是白色,所以这是闪烁效果..

有人有同样的问题吗?

react-native exponentjs react-native-navigation wix-react-native-navigation velo

7
推荐指数
2
解决办法
1万
查看次数

goBack 如何在排毒测试中筛选

我让自动化detox进行本地测试,它有下一个屏幕顺序A -> B -> C,我想回到屏幕上B <- C. 有解决方案吗?

automated-tests react-native react-native-navigation react-navigation detox

7
推荐指数
2
解决办法
2270
查看次数

从嵌套导航器中隐藏父级的导航标题

我正在开发我的第一个反应本机应用程序。我对应用程序中的嵌套导航有疑问。

我有以下导航:

  • 主应用程序导航器:createStackNavigator
    • 身份验证导航器:createStackNavigator
    • 底部栏导航器:createBottomTabNavigator
      • 顶部选项卡导航器:createMaterialTopTabNavigator
        • 我的嵌套导航器:createStackNavigator

我想要的是 ?

  • 我试图在最后一个嵌套导航器的屏幕中隐藏BottomBarTopTab导航器标题。

我做了什么?

  • 我尝试在嵌套导航中将标题设置为空,但这隐藏了嵌套标题而不是父标题。
  • 我还尝试将父标题设置为空,但这会将它们隐藏在所有屏幕上。

我只需要将它们隐藏在这个嵌套屏幕中。我可以从嵌套的 React 类中更改parent headers 属性吗?在此输入图像描述

react-native react-native-navigation react-navigation

7
推荐指数
1
解决办法
2048
查看次数

为什么需要 this.props.componentId?

为什么this.props.componentId需要?

它的目的是什么?

为什么我们不能在不需要那个 id 的情况下使用这个库?

react-navigation不需要那样的东西,react-native-navigationv1 没有使用那样的东西。那么为什么 v2 需要并使用它呢?我问的原因首先是为了理解它,其次是看看我是否可以跳过这个,因为现在我不能使用传奇中的 RNN v2。

react-native react-native-navigation

7
推荐指数
1
解决办法
2149
查看次数

无法从“node_modules\react-native-gesture-handler\createHandler.js”解析“fbjs/lib/areEqual”

我正在使用 expo 构建一个 react-native 应用程序,但是,我有一个错误,因此我无法继续构建该应用程序。我什至在错误消息中提到的 node_modules 中查找文件。我正在使用 react-native-gesture-handler 进行屏幕导航。如果我卸载了 react-native-gesture-handler 并删除了导航代码,这会解决我的错误吗?我该如何解决?

应用程序.js

import React, { Component } from 'react';
import { StackNavigator } from 'react-navigation';
import Plan from './screens/Plan';
import Home from './screens/Home';


const AppNavigator = StackNavigator({
  PlanScreen: { screen: Home },
  HomeScreen: { screen: Plan }
});

export default class App extends Component {
  render() {
    return (
      <AppNavigator/>
    )
  }
}

Run Code Online (Sandbox Code Playgroud)

主页.js

import React, { Component } from 'react';
import { View, Text, Button, TextInput } from 'react-native'; …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android react-native-navigation expo react-datepicker

7
推荐指数
2
解决办法
3265
查看次数

Pure React Native 应用程序在以发布模式打开后在滑动时崩溃

我正在为我的纯RN 0.61.2应用程序使用React-Navigation。当我在调试模式下使用它时,该应用程序运行完美。但是,在发布模式下,当我尝试打开抽屉导航菜单或在选项卡菜单中向下滚动时,应用程序会立即崩溃。

依赖项:

...
  "dependencies": {
    "@react-native-community/async-storage": "^1.6.2",
    "@react-native-community/netinfo": "^4.4.0",
    "@react-native-community/slider": "^2.0.2",
    "react": "16.9.0",
    "react-native": "0.61.2",
    "react-native-admob": "^2.0.0-beta.6",
    "react-native-gesture-handler": "^1.4.1",
    "react-native-reanimated": "^1.3.0",
    "react-native-screens": "1.0.0-alpha.23",
    "react-native-vector-icons": "^6.6.0",
    "react-navigation": "^4.0.10",
    "react-navigation-drawer": "^2.2.2",
    "react-navigation-stack": "^1.9.3",
    "react-navigation-tabs": "^2.5.5"
  },
...
Run Code Online (Sandbox Code Playgroud)

我已经将这些代码行添加到android/app/build.gradle的依赖项中:

    implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
Run Code Online (Sandbox Code Playgroud)

在 App.js 中,我试过

import {enableScreens} from 'react-native-screen';
enableScreens();
Run Code Online (Sandbox Code Playgroud)

并且

import {useScreens} from 'react-native-screen';
useScreens();
Run Code Online (Sandbox Code Playgroud)

2.0.0-alpha.12.0.0-alpha.31.0.0-alpha.23版本react-native-screens

然而,我仍然得到相同的结果:调试模式完美运行,释放模式在抽屉导航滑动或标签导航滚动后急剧崩溃。


我使用adb logcat并看到的解决方案 …

android react-native react-native-android react-native-navigation

7
推荐指数
0
解决办法
1295
查看次数

如何使用 React Navigation 5.x 在不同的选项卡中重置堆栈

我的应用程序有一个 TabNavigator,每个选项卡中都有一个 StackNavigator。通过单击不同的选项卡在堆栈之间导航时,我不会重置堆栈,因此当您更改选项卡时,堆栈包含以前的状态。但是,偶尔从一个选项卡中的屏幕中,我想导航到不同选项卡中的特定屏幕,在这种情况下,我想重置目标选项卡中的堆栈。

TabNavigator
    Tab1 
      StackNavigator
         - ScreenA
         - ScreenB
    Tab2
      StackNavigator
         - Screen1
         - Screen2
Run Code Online (Sandbox Code Playgroud)

我希望能够在 Screen2 上放置一个按钮来重置 Tab1 上的堆栈。

我想知道此处文档中提到的“目标”参数是否有帮助,但没有关于如何使用它的示例。https://reactnavigation.org/docs/navigation-actions/

(我在这里搜索过,但为 4.x 建议的答案似乎不再适用)。谢谢!

react-native-navigation react-navigation react-navigation-v5

7
推荐指数
1
解决办法
2121
查看次数

React navigation v6 Modal with ScrollView inside - 当到达顶部滚动视图时向下滑动模式

我对 React-navigation v6 的模式呈现有疑问,无法呈现其中包含 ScrollView 的模式。实际上,如果我启用手势向下滑动模态,如果内部有 ScrollView 并且我只能在标题上向下滑动,则它不起作用。

我需要当到达 ScrollView 的顶部时,必须开始关闭动画手势。这是预期的行为:

在此输入图像描述

这是 RootNavigation 中使用的代码:

<RootStack.Group screenOptions={{ presentation: 'modal', cardOverlayEnabled: true, ...TransitionPresets.ModalPresentationIOS }}>
    <RootStack.Screen
       component={ModalPage}
       name="ModalPage"
       options={ModalPageNavOptions}
    />
</RootStack.Group> 
Run Code Online (Sandbox Code Playgroud)

这是ModalPage.js的渲染

<ScrollView nestedScrollEnabled>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
  <Text>TEST TEXT</Text>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

PS:我正在使用expo

react-native react-native-navigation react-navigation react-navigation-v6

7
推荐指数
1
解决办法
1944
查看次数