Android 作业调度程序不会在重启时保留

标签 android service

我已经在我的项目中实现了作业调度程序,并且在应用程序处于后台或应用程序被终止的情况下它工作正常。但如果设备重新启动,它就不起作用。我已经包括

     JobInfo.Builder mBuilder = new JobInfo.Builder(TASK_ID, mComponentName);
     mBuilder.setPersisted(true);

在我的 build 者和

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

在应用程序 list 文件中。这就是我将服务添加到 list 的方式

     <service
        android:name="com.xxx.xxxx.service.MyJobService"
        android:permission="android.permission.BIND_JOB_SERVICE" />

还有什么需要补充的吗?

提前致谢

最佳答案

注册一个 BroadCastReciever 用于检测 BOOT_COMPLETED

<receiver android:name="com.example.startuptest.StartUpBootReceiver">
<intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>

在您的 BroadcastReceiver 中:

public class StartUpBootReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

    if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
        Log.d("startuptest", "StartUpBootReceiver BOOT_COMPLETED");
        ...
    }
  }
}

一旦用户在您的应用中运行任何 Activity 一次,您将在所有 future 启动后收到 BOOT_COMPLETED 广播。

关于Android 作业调度程序不会在重启时保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42084112/

相关文章:

android - PagerTabStrip不显示标题,滑动时会显示时间

Android 相机无法从后台服务拍照

c# - wbadmin 命令无法从 Windows 服务运行

delphi - 有什么方法可以限制CodeCentral Web服务返回多少项目

java - 服务被销毁时如何创建通知

java - 无法从服务调用主 Activity

android - 以 MHz 为单位查找 Android 设备的处理器速度

javascript - 使用 Appium 和 Desired 功能,我在设备中启动 android 应用程序,但无法导航到不在屏幕 View 中的元素

android - 元素类型 "item"必须由匹配的结束标记 "</item>"终止

android - 将两个小按钮排成一行的问题 - 一个总是被拉伸(stretch)