Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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_Alarm - Fatal编程技术网

Android 在每个月的第一天运行函数

Android 在每个月的第一天运行函数,android,alarm,Android,Alarm,我想在每个月的第一天的固定时间(比如上午8点)从我的Android应用程序运行一个函数。根据用户的喜好,该功能要么提供通知,要么开始通过互联网下载文件(两者都已处理完毕),要么什么也不做 我尝试将BroadcastReceiver与actionandroid.intent.action.DATE_一起使用,但我了解到,只有当用户手动更改日期时才会触发它(尽管即使如此,它在我尝试的前2-3次工作后停止工作)。我认为AlarmManager能够做我需要做的事情,但不能真正理解如何实现它 无论我的应用

我想在每个月的第一天的固定时间(比如上午8点)从我的Android应用程序运行一个函数。根据用户的喜好,该功能要么提供通知,要么开始通过互联网下载文件(两者都已处理完毕),要么什么也不做

我尝试将BroadcastReceiver与action
android.intent.action.DATE_一起使用,但我了解到,只有当用户手动更改日期时才会触发它(尽管即使如此,它在我尝试的前2-3次工作后停止工作)。我认为AlarmManager能够做我需要做的事情,但不能真正理解如何实现它


无论我的应用程序是否处于活动/运行状态,都应运行此功能。这样做的最佳方式是什么?任何支持代码都将不胜感激。

启动时只需启动服务即可。在服务中,您可以在另一个线程中检查日期

使用警报

alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis()/*now*/, TIME_REPEATING, pendingIntent);
重复的时间将是您计算当月第一天的时间,以及您的服务运行任务的等待时间


独特的艰苦工作将是知道有多少时间需要转移到下个月的第一天。但是计算是可能的,而且非常容易暂停。

阅读更多关于后台服务的信息:然后你可以使用计时器获取系统的日期,然后magic@Aboca那么,它是否会在整整一个月内持续跟踪等待魔法发生的时间呢?这不是问题,但对于一个小任务来说,处理器的负载似乎太大了。现在就使用它,以满足最后期限。计时器可以是alarmmanager,也可以是简单的处理程序(应该使用更好的词),虽然没有真正使用alarmmanager,但它可以很好地为您工作。我想你已经看过了,但如果你还没有读到这篇文章:我没有使用闹钟,所以我不能给你一个好的开始:It’对不起