我正嘗試在Android中使用HeadlessJS API從本機反應運行後臺服務。我已經使用了官方的文檔做到這一點:使用React Native的Android後臺服務
MainTask的文件:
package com.test.test;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.Toast;
import com.facebook.react.HeadlessJsTaskService;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.jstasks.HeadlessJsTaskConfig;
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),
5000);
}
return null;
}
}
我也註冊了這樣的任務:
AppRegistry.registerHeadlessTask('SomeTaskName',() => 'SomeTaskName')
和SomeTaskName
是看起來像一個功能這個:
export async function SomeTaskName (taskData) {
alert('Esto es una tarea en background')
}
我用來觸發這個背景任務的方式是使用startService
方法:
startService(new Intent(this, MyTaskService.class));
我在Android代碼的不同部分嘗試startService
,但我看不到任何警報或警告日誌。