android - 当应用程序在 android 版本 7、8、9、10 中被杀死时,作业调度程序无法在后台工作?
问题描述
我已经使用计时器在作业调度程序中以 15 分钟的间隔调用一个方法。但是作业调度程序仅在应用程序运行阶段运行,如果我终止应用程序,则作业调度程序不起作用。杀死我的应用程序后如何运行作业调度程序工作?
这是我的代码片段
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startJob();
}
private void startJob(){
JobScheduler jobScheduler = (JobScheduler)getApplicationContext()
.getSystemService(JOB_SCHEDULER_SERVICE);
ComponentName componentName = new ComponentName(this,
RecallMyServicesis.class);
JobInfo jobInfo = new JobInfo.Builder(1, componentName)
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setRequiresCharging(true)
.setOverrideDeadline(15*60*1000)
.setPersisted(true)
.build();
int result = jobScheduler.schedule(jobInfo);
if(result == JobScheduler.RESULT_SUCCESS)
{
Log.d("MainActivity","Success");
}else
{
Log.d("MainActivity","Failed");
}
}
}
RecallMyServicesis.java
public class RecallMyServicesis extends JobService {
private static final String TAG = "RecallMyServicesis";
@Override
public boolean onStartJob(JobParameters jobParameters) {
System.out.println("Job Fired");
for(int i = 0; i < 10; i++){
System.out.println("Job Fired i : "+i);
Toast.makeText(this, "Job Fired i : "+i, Toast.LENGTH_SHORT).show();
SystemClock.sleep(1000);
}
jobFinished(jobParameters, false );
return true;
}
@Override
public boolean onStopJob(JobParameters jobParameters) {
return false;
}
}
AndroidManifest.xml
<service android:name=".RecallMyServicesis"
android:permission="android.permission.BIND_JOB_SERVICE" />
解决方案
I am trying to work on JobScheduler and eventually, It is not working on Android 7.0. I have Samsung s7 device. But when I am deploying apk in Moto e4 which have android 7.1 version, the jobscheduler is working fine on background and app as well, even I kill the app, it is running.
推荐阅读
- python - 我需要帮助修复这个@bot.event 循环
- python - 使用请求来查找物品是否有货
- oracle - Oracle 触发器:当带有冒号 (:) 的前缀 NEW
- javascript - javascript - 在单元格内容值周围包裹 iframe 标签
- python - 来自 Matlab 的 .fig 文件的 Python 等价物
- python - 使用 Geopandas 在 Qt 中通过套索选择点
- sql - 在 BigQuery 中,我们可以从子查询或函数中而不是静态地设置列的描述元数据吗?
- python - Flask 脚本:从 flask._compat 导入 text_type ModuleNotFoundError:没有名为“flask._compat”的模块
- java - 休眠锁定整个表
- python - 通过在熊猫组中添加连续数字来填充 NaN