我正在使用Headless.js与React Native一起运行后台服务。我们在使用中遇到了很多问题。使用React Native运行Android后台服务有哪些选择?React Native和Android后台服务
回答
我的猜测是你将不得不自己写。不幸的是,Headless JS在任务完成时暂停,所以我不确定它是否合适。
只要不接触用户界面:网络请求,定时器等,您可以在任务中执行任何操作。一旦您的任务完成(即承诺已解决),React Native将进入“已暂停”模式(除非有其他任务正在运行,或者有前台应用程序)。
https://facebook.github.io/react-native/docs/headless-js-android.html
更新:它可以保持运行的过程中,如果应用程序失去焦点。我将不得不寻找测试应用程序源,以提供一个示例。
顺便说一下,我最终编写了一个后台服务,以便在Android中启动。 React Native不允许使用这种类型的服务,也不是RN的意图来创建完全无头的应用程序。
添加一个文件名BackgroundAudio.java
import android.content.Intent;
import android.os.Bundle;
import com.facebook.react.HeadlessJsTaskService;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.jstasks.HeadlessJsTaskConfig;
public class BackgroundAudio extends HeadlessJsTaskService {
@Override
protected @Nullable HeadlessJsTaskConfig getTaskConfig(Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
return new HeadlessJsTaskConfig(
"BackgroundAudio",
Arguments.fromBundle(extras),
5000);
}
return null;
}
}
编辑AndroidManifest.xml中
<service android:name=".BackgroundAudio" android:enabled="true" android:label="BackgroundAudio" />
我index.android.js
然后:
import BackgroundAudio from './src/BackgroundAudio'
AppRegistry.registerHeadlessTask('BackgroundAudio',() => BackgroundAudio)
最后,BackgroundAudio.js在index.android.js中引用的文件的内容如下:
export async function BackgroundAudio (taskData) {
alert('BACKGROUND AUDIO')
}
如何启动** BackgroundAudio **服务 – Man
有几个包自创建以来就已经创建,因为您问这个问题可能会有所帮助,具体取决于您的确切用例。
具体来说,你可以使用react native queue与react native background task轻松安排后台任务定期(大约每隔〜15分钟,你的计划任务至多运行30秒 - 使用队列来处理任务超时管理)时执行的程序是关闭(这适用于iOS和Android的跨平台)。但是,如果您的意图是要在后台持续运行一项服务,我不确定这在RN世界中是否可行(就我的职位而言)。
- 1. 使用React Native的Android后台服务
- 2. OneSignal + React Native +后台通知
- 3. Android后台服务和AlarmManager
- 4. Android后台服务
- 5. Android后台服务
- 6. Android后台服务
- 7. Android后台服务
- 8. React Native navigator.geolocation.watchPosition在后台运行吗?
- 9. React Native Android&Genymotion
- 10. Android Studio/React Native
- 11. React native for android
- 12. React-Native Android PushNotifications
- 13. React Native - initialProperties Android
- 14. React Native android build
- 15. React Native中的react-native run-android
- 16. react-native run-android and react-native开始
- 17. 后台服务在android onCreate()和onResume()
- 18. Android后台服务和唤醒锁
- 19. 服务器为Android的后台服务?
- 20. Android的后台服务
- 21. Android - 定期后台服务
- 22. 两个后台服务android
- 23. Android TrafficStats后台服务?
- 24. Android服务在后台
- 25. Android定期后台服务
- 26. 与Android的后台服务
- 27. android的后台服务(Xamarin)
- 28. Android后台服务与AlarmManager
- 29. Android后台服务问题
- 30. React Native如何跨平台?
plz添加一些代码链接可能会在一段时间内死掉 –
_鼓励连接到外部资源,但请在链接周围添加上下文,以便您的同行用户可以了解它是什么以及它为什么存在。始终引用重要链接中最相关的部分,以防目标网站无法访问或永久脱机._ – Bugs