你可以在一个单独的进程上启动一个IntentService吗?

  1. 是否有可能在一个单独的进程上启动一个IntentService ? 怎么样? 如果是这样,是否必须绑定?
  2. 是否有可能在一个单独的进程上启动一个IntentService 并在前台运行它 ?
  3. android:isolatedProcessandroid:process什么区别? 请参阅: http : //developer.android.com/guide/topics/manifest/service-element.html

Solutions Collecting From Web of "你可以在一个单独的进程上启动一个IntentService吗?"

1)是否可以在一个单独的进程上启动一个IntentService ? 怎么样? 如果是这样,是否必须绑定?

是的,您可以在单独的进程中启动一个IntentService 。 只需将android:process=":whatever"到该服务的清单条目即可。

不,你不需要绑定它。 你可以通过发送intents使用startService()

2)是否可以在一个单独的进程上启动一个IntentService并在前台运行它?

是的(见上文)。 为了让你的服​​务在前台运行,它可以在任何时候调用startForeground() 。 服务本身是在控制它是否在前台或后台运行。

3)有什么区别android:isolatedProcessandroid:process ? 请参阅: http : //developer.android.com/guide/topics/manifest/service-element.html

android:process允许你控制每个特定组件在哪个进程中运行(通过指定进程的名字)。 您可以将应用程序的组件分组,以便在单独的进程中运行(例如,一个进程中的所有UI组件以及另一个进程中的所有服务)。 默认行为是应用程序的所有组件在相同的进程中运行。

android:isolatedProcess是一个标志(true / false),你可以设置,如果你想要一个特定的服务组件运行在一个单独的进程与其他应用程序隔离。 孤立的进程没有任何授予应用程序其余部分的权限。 通常,将权限授予应用程序,应用程序的所有组件都具有应用程序获得的所有权限。 android:isolatedProcess只能从API级别16(Jellybean)开始使用。 请参阅http://aleksmaus.blogspot.de/2012/09/a-feature-of-android-jelly-bean.html以及在JellyBean中的Services中引入Isolatedprocess标记的优势%5BAndroid%5D