SecurityException:调用者不再运行

时间:2018-05-14 15:01:05

标签: android android-asynctask job-scheduling jobintentservice

我在 Android O及以上版本中遇到以下问题,在尝试运行 JobIntentService 时,我很难重现此问题:

MyConsumer

1 个答案:

答案 0 :(得分:2)

让你的jobIntentService扩展MyJobIntentService

这将处理多个去往remoteProcess的dequeueWork调用, 即使remoteProcess抛出安全性异常以便从堆栈中弹出已经删除的工作

package android.support.v4.app;

import timber.log.Timber;

public abstract class MyJobIntentService extends JobIntentService {   

    @Override

    GenericWorkItem dequeueWork() { 
        try {
            return super.dequeueWork();
        } catch (SecurityException ignored) {
            Timber.e(ignored);
        }    
        return null;
    }
}

注意:重要的是要创建包" android.support.v4.app" 由于GenericWorkItem类位于此包中以进行访问。