Android 防止应用程序被操作系统停止或暂停

Android 防止应用程序被操作系统停止或暂停,android,android-service,codenameone,Android,Android Service,Codenameone,我正在CodenameOne上开发Android应用程序,它需要每5分钟发送一次web请求,即使最小化。如何实现此行为以防止操作系统停止或暂停请求?您不能从活动中执行此操作,您需要创建后台服务 使用AlarmManager设置每五分钟一次的操作。让它触发一个BroadcastReceiver,该接收器反过来将控制权传递给(或您自己的IntentService,该服务处理您需要的WakeLock,以便设备在您工作时保持清醒)。让服务执行“web请求” 这仍然不是100%的保证: 用户可以强制停止

我正在CodenameOne上开发Android应用程序,它需要每5分钟发送一次web请求,即使最小化。如何实现此行为以防止操作系统停止或暂停请求?

您不能从活动中执行此操作,您需要创建后台服务


使用
AlarmManager
设置每五分钟一次的操作。让它触发一个
BroadcastReceiver
,该接收器反过来将控制权传递给(或您自己的
IntentService
,该服务处理您需要的
WakeLock
,以便设备在您工作时保持清醒)。让服务执行“web请求”

这仍然不是100%的保证:

  • 用户可以强制停止您的设置,在这种情况下,您的警报消失,在用户再次手动运行您的应用程序之前不会发生任何事情

  • 用户可能会阻止某些设备发出警报,如各种索尼Xperia型号,这些设备提供“耐力模式”或同等模式


然而,除了推出自己的Android操作系统版本之外,这是你将获得的最好的服务。

其他人的回答是正确的,你需要创建一个服务,但他们不知何故忽略了提到的代号一

在Codename One下,您需要为android创建一个本机目录,并将服务源代码放在那里(只需使用一个空白的服务类,它实际上什么都不做)。然后,您需要在构建参数中添加选项
android.xapplication
,在这里您可以声明服务XML属性


已经说过,你正在尝试做的是非常错误的,你不应该在Android中做!您将很快耗尽设备的电池寿命,操作系统最终将终止服务(因为这将是电池消耗)。解决方案是向设备发送推送通知以唤醒应用程序。

在Android 9及更高版本中,您可以通过电池设置防止应用程序入睡。
长时间点击你的应用->应用信息->电池->优化电池消耗

这里从列表中添加你的应用。


提示:根据你的手机,可能菜单项有不同的名称。

没有最小化,你需要一个后台服务。最后一段,哈哈,大错特错了,哈?。你认为这些优秀的谷歌应用都有什么用?一直在给家里打电话!但我同意,坏主意。不,他们不这么做。我建议阅读他们如何通过一个公共池保持连接资源,在必要时智能地断开无线电网络连接。。。这就是为什么我们有像推送通知这样的API。