我可以将Intent Service放入库项目并在不同的应用程序中使用它吗?

soc*_*qwe 2 android android-intent android-service

我正在使用Intent Service工作.我想在不同的应用程序中使用此IntentService,这些应用程序可能并行安装在用户设备上.

我们假设我有两个Android应用程序.两者都使用我的库,并希望使用我的IntentService(库的一部分).我不想做类似"共享服务"的东西,两个应用程序都是独立的,两个服务应该彼此独立运行.

在Android Manifest的第一个应用程序中,我指定服务如下:

<service android:name="com.mylibrary.service.SuperService" android:enabled="true"/>
Run Code Online (Sandbox Code Playgroud)

在第二个应用程序中,我将做同样的事情:

<service android:name="com.mylibrary.service.SuperService" android:enabled="true"/>
Run Code Online (Sandbox Code Playgroud)

是否会产生冲突,因为这两个应用程序具有相同的包和名称?Android知道哪个SuperService实例属于哪个应用程序?

Tal*_*nel 6

每个进程独立运行它自己的实例,并且它们都运行相同的服务名称(和包名称)的事实不会导致任何问题.

我知道这肯定是因为我自己做了很长时间同样的事情 - 在同一台设备上同时运行的两个不同的应用程序中使用相同的库服务

在引擎盖下,Service简单地实现了一种单一的操作系统,它以特殊的方式管理它的生命周期,而不是其他Java类,但最终它仍然是在你自己的进程内存沙箱中运行的实例.

同样IntentService,延伸Service