大家好,正如标题中所述,距离我在运行oreo +的设备上启动启动Bacground服务的代码已经无法使用已经过去了一个星期。我总是会收到错误:
JobServiceContetxt: Time-out while trying to bind < here states Service code, service name>, dropping.
所以我处理作业服务的Java文件是:
Java代码
public class JobBoot extends JobIntentService {
public static final int JOB_ID = 0x01;
public static void enqueueWork(Context context, Intent work) {
enqueueWork(context, BackgroundService.class, JOB_ID, work);
}
@Override
protected void onHandleWork(@NonNull Intent intent) {
// your code
}}
清单
Manifest
<service android:name=".MyJobService"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE">
<intent-filter>
<action android:name="com.firebase.jobdispatcher.ACTION_EXECUTE"/>
</intent-filter>
</service>
Java代码
public class MyJobService extends JobService {
private static final String TAG = "MyJobService";
@Override
public boolean onStartJob(JobParameters jobParameters) {
Log.d(TAG, "Performing long running task in scheduled job");
// TODO(developer): add long running task here.
return false;
}
@Override
public boolean onStopJob(JobParameters jobParameters) {
return false;
}}
然后在我的BootReceiver.java内部,我在onReceive()内部调用JobBoot
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
JobBoot.enqueueWork(context, new Intent());
我该如何解决这个奇怪的错误?
我在这里发现的关于我遇到的错误的一切似乎都没有奏效。
我们非常感谢您的帮助!谢谢!