Android独立服务如何实现?
我想知道是否有一种方法可以创建一个独立于活动的服务,它将作为自己的进程运行。我希望服务在前台运行,这样它就不会被杀死,也可以被其他希望使用它的.apk访问。我该怎么做?我读了很多书,这让我比最初更困惑了。任何帮助都将不胜感激 澄清。我想运行一个可以与许多.apk进行通信的服务。这是一个没有市场价值的内部应用程序。我试图做的是使服务。apk可以向所有人注册这些内容提供商。apk使用此服务的人有一个所有其他。apk的内容提供商的列表,可以随意使用 我该怎么做 你不需要,只要你不需要它是“它自己的过程”。只需通过Android独立服务如何实现?,android,service,apk,Android,Service,Apk,我想知道是否有一种方法可以创建一个独立于活动的服务,它将作为自己的进程运行。我希望服务在前台运行,这样它就不会被杀死,也可以被其他希望使用它的.apk访问。我该怎么做?我读了很多书,这让我比最初更困惑了。任何帮助都将不胜感激 澄清。我想运行一个可以与许多.apk进行通信的服务。这是一个没有市场价值的内部应用程序。我试图做的是使服务。apk可以向所有人注册这些内容提供商。apk使用此服务的人有一个所有其他。apk的内容提供商的列表,可以随意使用 我该怎么做 你不需要,只要你不需要它是“它自己的过程
startService()
启动服务,并调用startForeground()
。它可以是与活动相同的流程的一部分,如果需要,用户将能够导航离开该活动,并且服务将保持运行
我希望服务在前台运行,这样它就不会被杀死
请注意,仍然欢迎用户放弃您的服务
startForeground()
将降低Android独立摆脱该服务的几率。服务本质上独立于活动。你不需要一个来运行另一个。服务总是在后台运行,除非占用太多资源,否则通常不会被终止
根据您希望在服务和活动之间进行的交互类型,您需要定义适当的意图,或者可能使用ContentProvider
更新:
在上述情况下,只需让每个内容提供商使用指定访问该内容提供商所需的URI的意图向服务注册即可。然后,该服务将保留所有注册内容提供商及其URI的列表
当一个新的活动想要获得所有可用内容提供者的列表时,它可以查询服务并询问提供者列表。然后,服务将以包含提供者和URI列表的意图进行响应
使用这些信息,各个活动可以决定他们想要与哪些内容提供商进行交互。我应该更具体一些。我已经照你说的做了。再搜索一点之后,我想我要找的是一个独立于.apk运行的远程服务。我希望即使应用程序(被用户或android)终止,服务也能继续运行。那么,使用远程服务能做到这一点吗?@jnford:“再搜索一点,我想我要找的是一个独立于.apk运行的远程服务。”——这是极不可能的,对用户来说肯定是不好的。请重新考虑。“我希望即使应用程序被(用户或android)杀死,服务也能继续运行。”——幸运的是,这是不可能的。“那么,使用远程服务可以实现这一点吗?”--不。