jjzjj

JobService

全部标签

android - 无约束地触发 JobService

我有一个小问题,在某些设备上,我的没有背景的通知有时不会在androidO上触发(特别是在小米上)。我正在使用从BroadcastReceiver接收数据的AwarenessAPI。所以...我想做的是将我的通知放在JobService中,并可能获得一些处理时间,然后像这样调用它:PersistableBundlebundle=newPersistableBundle();bundle.putString("KEY1","Test");JobInfojob=newJobInfo.Builder(0,newComponentName(context,AppNotification.cla

java - Android:如何使用JobService的JobFinished

我没有看到使用JobService的jobFinshed的示例,似乎我们必须在某些条件满足时跟踪更改我们必须调用jobFinished()方法,对吗? 最佳答案 从另一个类(如IntentService)调用jobFinished()的困难似乎是获取将JobService扩展到的类的实例用于调用jobFinished()。您可以获取有关预定工作的信息,但不能获取有关JobService的信息(至少,我找不到方法)。我可以想到3种方法来调用jobFinished()。如果你不关心你的工作是否成功,或者你的工作是否花费很少的时间。在我的

android - 从 JobService 观察 LiveData

我有一个存储库,其中包含LiveData对象并被Activity使用,现在JobService需要它(来自Firebase调度程序)通过ViewModel。这里有普通服务的答案:ObserveLiveDatafromforegroundservice但它没有提到如何为JobService做同样的事情。 最佳答案 如果您想从不是LifecycleOwner的对象中观察LiveData对象,您可以使用observeForever方法。valdata=getLiveDataFromSomewhere()data.observeForeve

android - Android 的 JobIntentService 文档中提到的 "JobService execution time limit"有多长?

在将应用程序转换为适用于AndroidOreo时,我阅读了关于JobIntentService的文档overhere.在那里我找到了(强调的重要部分):Whenrunningasapre-Oservice,thenormalserviceexecutionsemanticsapply:[...]WhenrunningasaJob,thetypicalJobServiceexecutiontimelimitwillapply,afterwhichthejobwillbestopped(cleanly,notbykillingtheprocess)andrescheduledtoconti

android - 如何使用 Instrumentation 测试来测试我的 JobService?

我有一个JobService已正确实现并在简单情况下工作正常,但我想确保该服务在所有条件下都经过正确测试。我想使用Instrumentation测试用例,这样我就可以测试从使用getSystemService(JobScheduler.class).schedule(job)调度作业到调用onCreate在我的JobService和我的onStartJob/onStopJob调用中。我的JobService有时会启动AsyncTask(从而在onStartJob中返回true),有时会返回false表示已经完成的工作。我对jobFinished(mJobParameters,needs

android - 为什么 Firebase JobDispatcher 运行 JobService 2 次?

来自FirebaseJobDispatcher文档FirebaseJobDispatchersetTrigger(Trigger.executionWindow(0,60))//startbetween0and60seconds但为什么我的服务运行了两次FirebaseJobDispatcher代码FirebaseJobDispatcherdispatcher=newFirebaseJobDispatcher(newGooglePlayDriver(this));Jobjob=dispatcher.newJobBuilder().setTag("testingjob").setServ

java - 如何在android中检查JobService是否正在运行?

我在我的项目中使用JobService。它运作良好。但有时服务会停止。它不会重新启动。因此,如果JobService未运行,我将尝试对其进行分层。但我不知道如何检查JobService是否已经在运行。请告诉我如何检查JobService是否正在运行。我的工作服务类:@RequiresApi(api=Build.VERSION_CODES.LOLLIPOP)publicclassJobServiceextendsandroid.app.job.JobService{@OverridepublicbooleanonStartJob(JobParametersparams){if(Netwo

android - JobService 不需要 android.permission.BIND_JOB_SERVICE 权限

我在安排我的JobService时收到不需要android.permission.BIND_JOB_SERVICE权限错误,并且我已经拥有绑定(bind)权限。下面是我的代码。JobSchedulerjobScheduler=(JobScheduler)getSystemService(JOB_SCHEDULER_SERVICE);ComponentNamecomponentName=newComponentName(MainActivity.this,MyJobService.class);JobInfo.BuilderjobInfo=newJobInfo.Builder(101,c

android - JobScheduler JobService 在没有应用程序的情况下启动

我们最近将主应用程序类转换为Kotlin。从那以后,我们遇到了崩溃,尤其是在夜间(当我们的应用程序可能被系统杀死时),当我们的JobService启动时。我们正在以静态方式访问应用程序上下文以获取一些依赖项,这些依赖项在我们将类转换为Kotlin之前运行良好。从那时起,静态getter就是一个lateinitvar,它在应用程序的onCreate函数中初始化。发布后,GooglePlay报告了这些崩溃:Causedby:kotlin.UninitializedPropertyAccessException:atx.y.z.application.App.access$getAppCon

Android源码面试宝典之JobScheduler从使用到原理分析(三)【JobService、JobInfo】

上文,我们以JSS服务启动入手,对JSS服务onStart、onBootPhase函数进行了深入剖析。到目前为止,JSS服务到目前为止已经启动完成,本文,我们以JobInfo任务的创建入手,就这块的源码,分析一下,JobInfo如何与JSS挂钩,并且进行执行的。1.JobServiceJSS服务到目前为止已经启动完成,接下来,我们看一下JobInfo任务的创建ComponentNamemServiceComponent=newComponentName(this,MyJobService.class);JobInfojobInfo