Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-不允许从JobIntentService启动服务意图:应用程序位于后台_Java_Android - Fatal编程技术网

Java Android-不允许从JobIntentService启动服务意图:应用程序位于后台

Java Android-不允许从JobIntentService启动服务意图:应用程序位于后台,java,android,Java,Android,我正在广播接收器中接收意图,并尝试启动服务 由于我无法在应用程序处于后台时运行服务,因此我尝试使用JobIntentService将我的意图传输到正常服务: public class JsInvokerJobService extends JobIntentService { ... @Override protected void onHandleWork(Intent intent) { // We have received work to do.

我正在
广播接收器中接收意图,并尝试启动服务

由于我无法在应用程序处于后台时运行服务,因此我尝试使用
JobIntentService
将我的意图传输到正常服务:

public class JsInvokerJobService extends JobIntentService {

    ...
    @Override
    protected void onHandleWork(Intent intent) {
        // We have received work to do.  The system or framework is already
        // holding a wake lock for us at this point, so we can just go.
        Log.i(TAG, "Executing work: " + intent);
        this.startService(intent);
        Log.i(TAG, "Finished work: " + intent);
    }
但是,这仍然会导致我的应用程序在后台崩溃,并出现错误:

后台不允许启动服务意图应用程序

我读过关于在这些情况下使用
Runnable
,但我不知道如何将我的上下文传递给Runnable:

    final Handler mHandler = new Handler();
    
    @Override
    protected void onHandleWork(Intent intent) {
        // We have received work to do.  The system or framework is already
        // holding a wake lock for us at this point, so we can just go.
        Log.i(TAG, "Executing work: " + intent);
        mHandler.post(new Runnable() {
            @Override public void run() {
                this.startService(intent);
            }
        });
        Log.i(TAG, "Finished work: " + intent);
    }
我如何访问上下文(显然,
将不再工作)?我如何传递意图


这会起作用吗?或者还有其他方法?

为什么要从onHandleWork()启动服务?在onHandlework()中完成您的工作。我正在使用React Native,我需要启动一个headless JS任务,该任务将执行大量逻辑(访问本地存储、进行一些网络调用等)。据我所知,这只能通过正常的服务来完成。看见