JobIntentService 不调用 onHandleWork

JobIntentService not calling onHandleWork

我是服务新手,决定使用 JobIntentService,因为我的应用程序必须支持 API 21+,但是当我在 API 28+ 上启动我的服务时,它无法正常工作。

我发现当我使用 Contextcompat.startForegroundService()

启动我的服务时,onHandleWork 没有被调用

我的代码:

我的Activity

Intent intent = new Intent(this, MyService.class);
        intent.putExtra("fileTitle", popup.name);
ContextCompat.startForegroundService(this,intent);

我的服务

@Override
    public void onCreate() {
        super.onCreate();

        MyLog(this, "SERVICE ONCREATE", "SERVICE");
        createNotificationChannel();
        initNotification();
        startForeground(NOTIFICATION_ID, nBuilder.build());
    }

为了结束这个主题,我是这样设法让它发挥作用的:

我的Activity

Intent intent = new Intent(this, MyService.class);
intent.putExtra("fileTitle", popup.name);
ContextCompat.startForegroundService(this,intent);

我的服务

@Override
public void onCreate() {
    super.onCreate();
    // Init for Notification Channel in API 26+ && init notification to display
    createNotificationChannel();
    initNotification();
}


@Override
protected void onHandleIntent(@Nullable Intent intent) {
    if(intent!= null && isPostorEqualOS(Build.VERSION_CODES.O)){
        startForeground(NOTIFICATION_ID, nBuilder.build());
    }
}