我找不到任何在 Android 的 React-Native 中实现 Headless JS 的正确文档。
目前我已经实现了这些:
AndroidManifest.xml:
<service android:name="com.axcesscarlock.MyTaskService" />
MainApplication.java
import android.os.Bundle;
import android.content.Intent;
import com.facebook.react.HeadlessJsTaskService;
我创建了一个java类:
package com.locationlistener.service;
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;
import javax.annotation.Nullable;
public class MyTaskService extends HeadlessJsTaskService {
@Override
protected @Nullable HeadlessJsTaskConfig getTaskConfig(Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
return new HeadlessJsTaskConfig(
"SomeTaskName",
Arguments.fromBundle(extras),
10000, // timeout for the task
false // optional: defines whether or not the task is allowed in foreground. Default is false
);
}
return null;
}
}
JavaScript 文件中的代码:
AppRegistry.registerHeadlessTask('SomeTaskName', () => require('SomeTaskName'));
module.exports = async (taskData) => {
console.log('Hello from the background');
};
当用户将应用程序发送到后台时,我需要运行一个函数,但该函数关联(调用)状态中的其他函数和数据。那么,在这种情况下,我应该在后台调用整个类(class)吗? 当前使用发布的代码,我遇到此错误,提示“无法解析模块 SomeTaskName”。
最佳答案
确保 someTaskName 文件位于同一目录中。
并编辑
AppRegistry.registerHeadlessTask('SomeTaskName', () => require('./SomeTaskName'));
<小时/>
你能使用headless js吗?我也尝试应用它,但我的应用程序崩溃了。尽管我按照文档中的描述做了所有事情
关于java - 我可以使用 Headless JS 调用类中的函数吗? React-Native 安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59841769/