Я не могу найти какую-либо надлежащую документацию для реализации Headless JS в React-Native для android.
Как, на данный момент, я реализовал это:
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');
};
Мне нужно запустить функцию, когда пользователь отправляет приложение в фоновый режим, но эта функция связывает (вызывает) другие функции и данные из состояния. Так, в этом случае, я должен назвать весь класс, когда на заднем плане? В настоящее время, используя опубликованный код, у меня появляется эта ошибка: «Не удается разрешить модуль SomeTaskName».