首页 > 解决方案 > 当 React Native Android 应用程序在后台或已被杀死时,如何将其带到前台?

问题描述

当 React Native 应用程序在后台或被杀死时,有什么方法可以将它带到前台?

我曾尝试使用react-native-invoke-app但它已不再维护,仅支持 < 9 的 Android 版本。

标签: javaandroidreact-native

解决方案


我认为最好的方法是设置一个 URL 方案并打开连接到应用程序的 URL。

1 - 添加这行代码

<data android:scheme="my-awesome-app" />在标签./android/app/src/main/AndroidManifest.xml<intent-filter><activity>

这将为您的应用程序提供一个方案,该方案在使用浏览器或在其他应用程序中进行深度链接和打开您的应用程序时很有用。实际上,如果您打开my-awesome-app://网址,您的应用程序将被打开。

2 - 编写一个无头任务或事件监听器来运行Linking.openURL(my-awesome-app://);

react-native-firebase这是来自消息侦听器的示例。

import firebase from 'react-native-firebase';
import {Linking} from 'react-native';

firebase.messaging().onMessage((message) => {
    // Process your message as required
    Linking.openURL('my-awesome-app://')
  });
}

要在 iOS 上设置 URL 方案设置,您必须将其添加到info.plist文件中的 URL 类型中,如下图所示。

iOS 设置 URL 方案


推荐阅读