を開発しようとしJobScheduler
ていますが、アプリがシステムによって強制終了されたときに、アプリに 1 分ごとに何かを実行させたいと考えています。
AndroidManifest.xml
<service
android:name=".BaiduPush.BaiduJobService"
android:enabled="true"
android:permission="android.permission.BIND_JOB_SERVICE"/>
主な活動
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main2)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
startJobService()
}
}
private fun startJobService() {
Log.d(TAG,"startBaiduJobService")
val JOB = 10
val jobScheler = getSystemService((Context.JOB_SCHEDULER_SERVICE)) as JobScheduler
val jobinfo = JobInfo.Builder(JOB, ComponentName(packageName,BaiduJobService::class.java.name))
//.setPeriodic(AlarmManager.INTERVAL_FIFTEEN_MINUTES)
.setOverrideDeadline(60000)
.setPersisted(true)
.build()
jobScheler.schedule(jobinfo)
}
バイドゥジョブサービス
class BaiduJobService : JobService() {
val TAG = "BaiduJobService"
override fun onStartJob(params: JobParameters?): Boolean {
Log.d(TAG,"BaiduJobService onStartJob")
return true
}
override fun onStopJob(params: JobParameters?): Boolean {
return false
}
}
を使用する場合setPeriodic(AlarmManager.INTERVAL_FIFTEEN_MINUTES)
。はonStartJob
呼び出されていません。
を使用する場合setOverrideDeadline(60000)
。onStartJob
最初に一度だけのショー。
しかし、BaiduJobService
時間切れになっても呼び出されないようです。
私は何かを逃しましたか?前もって感謝します。