Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Java:根据应用程序中已指定的日期条件自动发送通知_Java_Android_Date_Notifications_Alarm - Fatal编程技术网

Android Java:根据应用程序中已指定的日期条件自动发送通知

Android Java:根据应用程序中已指定的日期条件自动发送通知,java,android,date,notifications,alarm,Java,Android,Date,Notifications,Alarm,我正在构建一个植物护理android应用程序。应用程序将灌溉日期存储在数据库中。 我正在从数据库中检索该日期,我需要应用程序在最后一个灌溉日期之后自动发送灌溉提醒通知。在用Java编写的Android应用程序中如何做到这一点 我尝试了这个ode,但它要求用户手动指定日期 我认为JobScheduler可以满足您的需要 每小时1次通知的示例 val jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobSchedu

我正在构建一个植物护理android应用程序。应用程序将灌溉日期存储在数据库中。 我正在从数据库中检索该日期,我需要应用程序在最后一个灌溉日期之后自动发送灌溉提醒通知。在用Java编写的Android应用程序中如何做到这一点


我尝试了这个ode,但它要求用户手动指定日期

我认为JobScheduler可以满足您的需要

每小时1次通知的示例

val jobScheduler = getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler

        jobScheduler.schedule(
            JobInfo
                .Builder(1, ComponentName(this, JobServiceImpl::class.java))
                .setMinimumLatency(TimeUnit.HOURS.toMillis(1))
                .setBackoffCriteria(TimeUnit.HOURS.toMillis(1), JobInfo.BACKOFF_POLICY_LINEAR)
                .build()
        )
JobServiceImpl类

class JobServiceImpl : JobService() {
    override fun onStopJob(params: JobParameters?): Boolean {
        return true
    }

override fun onStartJob(params: JobParameters?): Boolean {
    val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
    manager.notify(....your notification)

    return true
}
}

别忘了加上这个

<service
            android:name=".JobServiceImpl"
            android:permission="android.permission.BIND_JOB_SERVICE" />

到你的舱单。 可以找到有关作业计划程序的详细信息