Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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 每5分钟检查一次的程序应该使用哪种对象?_Android - Fatal编程技术网

Android 每5分钟检查一次的程序应该使用哪种对象?

Android 每5分钟检查一次的程序应该使用哪种对象?,android,Android,我将要创建一个小的Android程序,它每5分钟执行一个小任务。 然后程序可以“停止”并再等待5分钟,然后执行相同的小任务 我把这个项目称为“服务” 如果可能的话,我应该能够通过设置与程序通信,或者通过另一个应用程序直接与服务通信,或者可以是相同的吗?它有一个小UI,可以为小活动设置一些设置 现在我已经阅读了这些结构,我不确定使用哪一个: 服务 意向服务 报警管理器 处理者 你能照一盏灯在哪个上面用吗 Ps 我可以想象我对目标的描述有点难以理解。与之相比,我认为最好的东西是windows pc上

我将要创建一个小的Android程序,它每5分钟执行一个小任务。 然后程序可以“停止”并再等待5分钟,然后执行相同的小任务

我把这个项目称为“服务”

如果可能的话,我应该能够通过设置与程序通信,或者通过另一个应用程序直接与服务通信,或者可以是相同的吗?它有一个小UI,可以为小活动设置一些设置

现在我已经阅读了这些结构,我不确定使用哪一个:

服务 意向服务 报警管理器 处理者 你能照一盏灯在哪个上面用吗

Ps

我可以想象我对目标的描述有点难以理解。与之相比,我认为最好的东西是windows pc上的图标托盘:它是一个自动启动的程序/服务,在我的情况下会做一些事情,它会定期做一些事情,当你点击图标时,你可以与它进行一些交互。所以我的程序必须在后台运行,但我必须能够与程序通信

编辑
也许更好的例子是:有一个程序/服务可以检查你的手机附近是否有新的WiFi网络。我想这项服务会定期检查是否存在新的网络。但是,您可以通过设置来关闭此行为,我的意思是GUI与服务交互

您最好同时使用AlarmManager和IntentService。通过这种方式,您可以启动警报,每5分钟或向意向服务发送一次意向,以执行您想执行的任何操作


所有任务完成后,intent服务将自动停止,因此您不必担心如何管理它

您最好同时使用AlarmManager和IntentService。通过这种方式,您可以启动警报,每5分钟或向意向服务发送一次意向,以执行您想执行的任何操作


一旦所有任务完成,intent服务将自动停止,这样您就不必担心管理它了

在不知道您正在执行的任务是什么的情况下,我要说的是,您需要使用AlarmManager来管理任务的时间,IntentService可以自行运行任务


似乎您只是希望用户能够设置服务的首选项?您可以使用一个活动来完成此操作,使用保存设置,您的服务可以从中读取。

在不知道您正在执行的任务是什么的情况下,我要说的是您需要使用AlarmManager来管理任务的时间,这是一个IntentService来运行任务本身


似乎您只是希望用户能够设置服务的首选项?为此,您可以使用一个活动来保存设置,您的服务可以从中读取这些设置。

以下是它们之间的区别:

服务-永久运行或因资源原因停止。不会让手机保持清醒。未计划,必须看到某些事件发生或被调用才能执行工作

IntentService—运行足够长的时间来执行任务。可以将多个任务排队。不会让手机保持清醒。未计划,但会对请求进行排队

AlarmManager-必须存在于活动或服务的上下文中。我会叫醒电话的。按计划运行

处理程序-在事件进入时运行。不会让手机保持清醒。可以安排,但由于不会唤醒手机,因此只能在短时间内延迟使用


您需要一个AlarmManager和一个服务。该服务将运行,并允许您的警报在某处发出。闹钟本身将按计划呼叫,并将唤醒手机以执行其任务。

以下是它们之间的区别:

服务-永久运行或因资源原因停止。不会让手机保持清醒。未计划,必须看到某些事件发生或被调用才能执行工作

IntentService—运行足够长的时间来执行任务。可以将多个任务排队。不会让手机保持清醒。未计划,但会对请求进行排队

AlarmManager-必须存在于活动或服务的上下文中。我会叫醒电话的。按计划运行

处理程序-在事件进入时运行。不会让手机保持清醒。可以安排,但由于不会唤醒手机,因此只能在短时间内延迟使用


您需要一个AlarmManager和一个服务。该服务将运行,并允许您的警报在某处发出。闹钟本身将按计划呼叫,并将唤醒手机以执行其任务。

您所说的“唤醒电话”是什么意思?如果我将手机设置为“振动”而不是“铃声”,或者在我的服务中关闭WiFi,那么我是否会“唤醒电话”?当屏幕关闭时,手机处于休眠状态。应用程序不运行,活动不运行,服务不运行。有两种方法可以避免这种情况。一种是使用wakelock-wakelock
可以强制打开屏幕或仅强制CPU以允许应用程序运行。另一种是在广播接收器中设置代码,就像接收事件的闹钟一样——即使手机处于睡眠状态,该代码也会运行。你所说的“唤醒电话”是什么意思?如果我将手机设置为“振动”而不是“铃声”,或者在我的服务中关闭WiFi,那么我是否会“唤醒电话”?当屏幕关闭时,手机处于休眠状态。应用程序不运行,活动不运行,服务不运行。有两种方法可以避免这种情况。一种是使用wakelock——wakelock可以强制屏幕打开,也可以强制CPU运行应用程序。另一种方法是在广播接收器中设置代码,如接收事件的闹钟-即使手机处于睡眠状态,此代码也会运行。是否有一种方法可以为其中一个设置GUI,以设置一些设置/首选项?服务没有UI,这就是活动的用途。创建一些内容来更改您的设置首选项活动/首选项片段,并将设置保存在共享首选项中。您可以在服务中访问的那些首选项有没有办法为其中一个设置GUI,以设置一些设置/首选项?服务没有UI,这就是活动的用途。创建一些内容来更改您的设置首选项活动/首选项片段,并将设置保存在共享首选项中。您可以在服务中访问的首选项是AlarmManager,它是一种程序,还是我在Android应用程序中创建的对象。对于INTERNTSERVICE,同样的问题-您可以使用自己的服务扩展IntentService。AlarmManager是通过使用“Context.getSystemServiceContext.ALARM_SERVICE”从Android获得的对象,然后使用该对象设置报警。AlarmManager是一种程序,还是我在Android应用程序中创建的对象。对于INTERNTSERVICE,同样的问题-您可以使用自己的服务扩展IntentService。AlarmManager是通过使用“Context.getSystemServiceContext.ALARM_SERVICE”从Android获得的对象,然后使用该对象设置报警。