启动同一服务的2个实例?

时间:2013-07-15 20:12:38

标签: android

我开发了一个Android服务,我使用以下代码自动启动:

AndroidManifest.xml:

    <!-- Declare Boot Completed Broadcast Receiver, For Service Auto-Start on Boot -->
    <receiver android:name=".utils.os.ServiceAutoStart">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED"/>
        </intent-filter>
    </receiver>

ServiceAutoStart.java:

public class ServiceAutoStart extends BroadcastReceiver
{

    @Override
    public void onReceive(Context context, Intent intent)
    {
        // Start Patch Service On Boot
        context.startService(new Intent(context, PatchService.class));
    }
}

此外,我有一个“Viewer”,它使用startService()和bindService()启动并绑定到服务。在大多数情况下,一切都按预期工作。最近我注意到,如果我在Android设备启动后立即打开“Viewer”应用程序,我似乎创建了2个服务实例(见下图)。我认为不可能创建同一服务的2个实例。这里发生了什么?我是否误解了我在DDMS中看到的内容?

enter image description here

1 个答案:

答案 0 :(得分:1)

  

我似乎创建了2个服务实例(见下图)

如果您在左侧引用可编程流程的半编辑列表,则它们是两个单独的应用。一个是com.XXXX.service,一个是com.XXXX.serviceremote

  

我认为不可能创建同一服务的2个实例

不是。它们是单独应用程序中单独服务的单独实例。