【发布时间】:2019-11-05 17:38:15
【问题描述】:
当 React Native 应用程序在后台或被杀死时,有什么方法可以将它带到前台?
我曾尝试使用react-native-invoke-app,但它已不再维护,仅支持 Android 版本
【问题讨论】:
标签: java android react-native
当 React Native 应用程序在后台或被杀死时,有什么方法可以将它带到前台?
我曾尝试使用react-native-invoke-app,但它已不再维护,仅支持 Android 版本
【问题讨论】:
标签: java android react-native
我认为最好的方法是设置一个 URL 方案并打开连接到应用程序的 URL。
1 - 添加这行代码
./android/app/src/main/AndroidManifest.xml 在<intent-filter> 下<activity> 标签下的<data android:scheme="my-awesome-app" />。
这将为您的应用提供一个方案,该方案在使用浏览器或在其他应用中进行深度链接和打开您的应用时非常有用。
实际上如果你打开my-awesome-app:// url,你的应用就会被打开。
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 类型中添加它,如下图所示。
【讨论】: