Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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 我的重复性任务没有';我没接到电话_Android - Fatal编程技术网

Android 我的重复性任务没有';我没接到电话

Android 我的重复性任务没有';我没接到电话,android,Android,我正在尝试使用AlarmManager来完成一项重复的任务。我正在使用setInexactRepeating(),并将间隔设置为每15分钟一次(仅用于测试目的),但是,它似乎不起作用。有什么想法吗 这是我的密码: 报警接收器 public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { L

我正在尝试使用AlarmManager来完成一项重复的任务。我正在使用setInexactRepeating(),并将间隔设置为每15分钟一次(仅用于测试目的),但是,它似乎不起作用。有什么想法吗

这是我的密码:

报警接收器

public class AlarmReceiver extends BroadcastReceiver {


    @Override
    public void onReceive(Context context, Intent intent) {

    Log.w("CacheCrusader", "Recurring Job: Clearing Cache");

        }

 }
塞特

private void setRecurringAlarm(Context context) {


            Calendar updateTime = Calendar.getInstance();
            updateTime.set(Calendar.HOUR_OF_DAY, 20);
            updateTime.set(Calendar.MINUTE, 15);

            Intent downloader = new Intent(context, AlarmReceiver.class);
            PendingIntent recurringDownload = PendingIntent.getBroadcast(context,
                    0, downloader, PendingIntent.FLAG_CANCEL_CURRENT);
            AlarmManager alarms = (AlarmManager) getSystemService(
                    Context.ALARM_SERVICE);
            alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP,
                    updateTime.getTimeInMillis(),
                    AlarmManager.INTERVAL_FIFTEEN_MINUTES, recurringDownload);
        }
设置Setter的代码

Context context = getApplicationContext();
     setRecurringAlarm(context);
Android清单声明

<receiver android:name=".receiver.AlarmReceiver"></receiver>


logcat中未生成任何错误。。。警报永远不会响。

嗯,它不准确,所以。。。如果您将间隔设置为15分钟,您必须等待至少半小时,以确保它已/未触发。在您设定的开始时间(20:15)之后。试一下,大约每隔1分钟进行一次测试。而且,如果您需要更可靠的计划,请使用
setRepeating()
,或者可能使用
set()
,其中每个报警调用都会注册下一个报警调用

对。这个不精确的东西奠定了基础。您的闹钟不会超过15分钟。上限比这个大。谢谢你的回答。。。不幸的是,我已经等了4个多小时,但警报仍未触发。也许你的应用程序正在崩溃?这样可以解除警报。在任何情况下,使用
set()
并手动注册下一个报警都是使用报警最可靠的方法。你可能想试试。