java - 当 React Native Android 应用程序在后台或已被杀死时,如何将其带到前台?
问题描述
当 React Native 应用程序在后台或被杀死时,有什么方法可以将它带到前台?
我曾尝试使用react-native-invoke-app但它已不再维护,仅支持 < 9 的 Android 版本。
解决方案
我认为最好的方法是设置一个 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 类型中,如下图所示。
推荐阅读
- amazon-web-services - AWS Lambda 函数可以作为后台服务调用吗?
- casbin - 如果我想同时使用具有资源角色的 rabc 与 restful api 匹配,如何设置 casbin conf
- java - 如何在点击每个 RecyclerView 列表项时显示插页式广告
- swift - 如何快速替换MKMapView中当前位置坐标中的新位置坐标
- apache-kafka - Kafka 是否防止消费者在网络分区后提交?
- azure - 使用另一个访问令牌获取 msgraph 访问令牌
- java - 如何计算在给定时间范围内运行的起始对数
- pyqt - 如何防止ui有时使用线程挂起?
- c - 双指针与指向数组的指针,不兼容的指针类型
- docker - 气流:DockerOperator 失败并出现 Permission Denied 错误