为了账号安全,请及时绑定邮箱和手机立即绑定

当用户从最近的任务列表中关闭应用程序时,如何保持作业服务运行

当用户从最近的任务列表中关闭应用程序时,如何保持作业服务运行

HUX布斯 2022-05-12 19:00:28
我在我的应用程序中使用 Job Scheduler API 在特定时间间隔后为我安排作业。应用程序运行时它运行良好。但是,每当用户关闭应用程序或将其从最近的任务列表中清除时,应用程序就会停止,并且计划的作业之后永远不会执行,直到您打开应用程序并从打开的时间再次重新安排它。现在,即使应用程序已关闭或从最近的任务列表中清除,我也希望有人帮助我保持工作的执行。如果有任何替代解决方案,请告诉我。我正在寻找过去 3 天的解决方案。尝试了 StackOverFlow 和其他网站上开发人员所说的所有内容,但没有一个对我有用。这是安排工作的地方!ComponentName componentName = new ComponentName(getActivity().getBaseContext(),WallpaperJobService.class);        JobInfo jobInfo = new JobInfo.Builder(777,componentName).setRequiresCharging(sharedPreferences.getBoolean("Charging",false)).setRequiredNetworkType(sharedPreferences.getBoolean("Wifi",false) ? JobInfo.NETWORK_TYPE_UNMETERED : JobInfo.NETWORK_TYPE_ANY)                .setPeriodic(sharedPreferences.getInt("Duration",15) * 60 * 1000)                .setPersisted(true)                .build();        JobScheduler scheduler = (JobScheduler) getContext().getSystemService(Context.JOB_SCHEDULER_SERVICE);        scheduler.schedule(jobInfo);我的工作服务类:public class WallpaperJobService extends JobService {private boolean jobCancelled;private SharedPreferences sharedPreferences;private SharedPreferences.Editor editor;@Overridepublic boolean onStartJob(JobParameters params) {    Log.i("WallpaperJobService", "Job started!");    changeWallpaper(params);    return true;}private void changeWallpaper(final JobParameters params) {    final ArrayList<Image> images = (ArrayList<Image>) MainActivity.favoritesRoomDatabase.roomDao().getAllFavoriteWallpapers();    sharedPreferences = getSharedPreferences("GridSize", MODE_PRIVATE);    editor = sharedPreferences.edit();    if (images != null && images.size() != 0) {        if (sharedPreferences.getInt("Index", 0) == images.size()) {            editor.putInt("Index", 0);            editor.commit();        }
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

当在后台定期做一些事情时—— 、、、、JobSchedulerFCM推送消息等——你必须考虑到你的进程可能不在你工作的时候。Android 会为你创建一个进程,但它是“从头开始”的。您的 UI 可能已在内存中设置的任何内容(例如数据库)都将用于某些先前的进程,并且可能不会在新进程中设置。WorkManagerAlarmManager



查看完整回答
反对 回复 2022-05-12
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信