我按照本指南 - 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
我正在React Native上构建VoIP应用程序,该应用程序使用推送通知检测来电。我需要启动应用程序,并在收到推送通知时将其置于前台。我能够在以下情况下实现:
我无法处理的唯一情况是设备被锁定并且应用被杀死时。该应用程序启动,但未显示在锁定屏幕上。相反,用户需要解锁手机才能访问应用程序。
这是收到通知时运行的代码,
@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
在使用两个不同的导航器从一个屏幕转换到另一个屏幕时,我遇到了这种情况: ex-navigation 和新的 React Navigation 。有白色闪烁一秒钟(或半秒钟)。在寻找解决方案时,我发现其他导航器也有同样的问题。例如来自 wix HERE的导航器 。从链接:
好的,问题是,React 样式在导航开始后应用,默认情况下 backgroundColor 是白色,所以这是闪烁效果..
有人有同样的问题吗?
react-native exponentjs react-native-navigation wix-react-native-navigation velo
我让自动化对detox进行本地测试,它有下一个屏幕顺序A -> B -> C,我想回到屏幕上B <- C.
有解决方案吗?
automated-tests react-native react-native-navigation react-navigation detox
我正在开发我的第一个反应本机应用程序。我对应用程序中的嵌套导航有疑问。

为什么this.props.componentId需要?
它的目的是什么?
为什么我们不能在不需要那个 id 的情况下使用这个库?
react-navigation不需要那样的东西,react-native-navigationv1 没有使用那样的东西。那么为什么 v2 需要并使用它呢?我问的原因首先是为了理解它,其次是看看我是否可以跳过这个,因为现在我不能使用传奇中的 RNN v2。
我正在使用 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
我正在为我的纯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.1,2.0.0-alpha.3和1.0.0-alpha.23版本react-native-screens。
然而,我仍然得到相同的结果:调试模式完美运行,释放模式在抽屉导航滑动或标签导航滚动后急剧崩溃。
我使用adb logcat并看到的解决方案 …
android react-native react-native-android react-native-navigation
我的应用程序有一个 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
我对 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