Android 无限生命周期服务
我在活动中调用服务,但当我关闭应用程序时,服务将关闭。如何创建无限生命周期服务?还有,我如何在BroadcastReceiver中调用活动?不可能创建这样的东西 您可以做的最接近的事情是将您的服务设置为前台,请参见 如何创建无限生命周期服务 你不能。操作系统将在认为合适时终止您的进程,包括在用户请求时终止进程,例如通过任务杀手应用程序。请在设计应用程序时牢记这一点 我如何在广播接收器中调用活动Android 无限生命周期服务,android,Android,我在活动中调用服务,但当我关闭应用程序时,服务将关闭。如何创建无限生命周期服务?还有,我如何在BroadcastReceiver中调用活动?不可能创建这样的东西 您可以做的最接近的事情是将您的服务设置为前台,请参见 如何创建无限生命周期服务 你不能。操作系统将在认为合适时终止您的进程,包括在用户请求时终止进程,例如通过任务杀手应用程序。请在设计应用程序时牢记这一点 我如何在广播接收器中调用活动 如果BroadcastReceiver是由活动通过registerReceiver()注册的,那么如果
如果
BroadcastReceiver
是由活动通过registerReceiver()
注册的,那么如果BroadcastReceiver
是活动的内部类,它可以像Java中的任何内部类一样,正常地调用活动上的方法。如果希望服务在停止活动后继续运行,通过startService而不是bindService启动它。别忘了再停下来
启动活动的startActivity
sendBroadcast以启动广播接收器
启动服务以启动活动。但当我在启动时调用BroadcastReceiver时,请完成并启动此BroadcastReceive内的服务。服务无限期地运行。@Vinix:不,它没有。正如我所写的,操作系统会在它认为合适的时候终止你的进程,包括在用户请求时终止它,比如通过任务杀手应用程序。好的,我真正需要的是,每隔10分钟,在后台处理一个HTTPRequest,而不使用UI。这是可能的?@Vinix:当然可以,但不是通过“无限”运行服务。使用
AlarmManager
每10分钟获取一次控制权。如果您使用的是\u WAKEUP
-类型的闹钟(每10分钟唤醒一次设备,即使它处于睡眠模式),请使用myWakefulIntentService
来完成实际的下载工作:但在30秒内,它停止工作,不需要在桌面或onDestroy上调用。如果Android喜欢,它会杀死它。例如资源。