Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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
Java 我想让我的android应用程序在后台全天候运行,除非用户关闭。我该怎么办。。?_Java_Android_Background - Fatal编程技术网

Java 我想让我的android应用程序在后台全天候运行,除非用户关闭。我该怎么办。。?

Java 我想让我的android应用程序在后台全天候运行,除非用户关闭。我该怎么办。。?,java,android,background,Java,Android,Background,我希望我的应用程序在后台运行,因为它必须每秒获取时间..并在用户设置时间并希望应用程序在该时间执行某些任务时执行某些任务 您考虑过使用 Android提供了一个AlarmManager 将允许您指定 在指定时间发送的意图。 此意图通常用于启动 预设时间的应用程序。 (注意:如果您想发送 向正在睡眠或正在运行的用户发送通知 应用程序,请改用。) Android显然已经包含了一个调度服务,所以你不需要创建自己的。 确实有帮助。不要忘了跟踪那篇文章中提供的链接。如果你每秒钟都做一件事,那么用户的设备不

我希望我的应用程序在后台运行,因为它必须每秒获取时间..并在用户设置时间并希望应用程序在该时间执行某些任务时执行某些任务

您考虑过使用

Android提供了一个AlarmManager 将允许您指定 在指定时间发送的意图。 此意图通常用于启动 预设时间的应用程序。 (注意:如果您想发送 向正在睡眠或正在运行的用户发送通知 应用程序,请改用。)


Android显然已经包含了一个调度服务,所以你不需要创建自己的。
确实有帮助。不要忘了跟踪那篇文章中提供的链接。

如果你每秒钟都做一件事,那么用户的设备不可能达到24部分而不接通电源。

我同意这篇文章中的每一个人!在以一定间隔执行服务时,AlarmManager是您最好的朋友。它们也很容易设置,下面是重复报警的一个非常简单的示例:

//Get the alarm service
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);

//Create the intents to launch the service again
Intent new_intent = new Intent(<The intent to set off>);
PendingIntent p_intent = PendingIntent.getBroadcast(this, 0, new_intent, 0);

//Create a repeating alarm
alarm.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, <Time in milliseconds to set off first alarm>, <How long between each alarm in milliseconds>, p_intent);
//获取报警服务
AlarmManager alarm=(AlarmManager)getSystemService(Context.alarm\u服务);
//创建再次启动服务的意图
意图新意图=新意图();
pendingent p_intent=pendingent.getBroadcast(this,0,new_intent,0);
//创建重复报警
alarm.setInexactRepeating(AlarmManager.Appeased\u REALTIME\u WAKEUP,,p\u intent);
注意,我使用了一个不精确的警报来设置警报,所以它不会试图中断任何其他重要的服务。可以使用精确的警报,但如果您的执行没有那么重要,我强烈建议使用不精确的警报。您可以在下面找到更多信息:


不要这样做,请不要这样做。+1法玛里。这正是解决此问题的错误方法,也是AlarmManager存在的原因。见下面布赖恩·丹尼的答案。一般来说,Android是高度事件驱动的。如果您发现自己正在编写一个轮询循环,请后退几步,可能已有更好的方法可供您使用。