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());
}
}
我是服务新手,决定使用 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());
}
}