Zuallererst habe ich eine Bibliothek, die einen Dienst definiert:
<application
android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true">
<service
android:name=".SharedService"
android:process="com.lib.aidl.SharedService"
android:enabled="true"
android:exported="true">
</service>
</application>
Fügen Sie nun zwei Apps hinzu, die diese Bibliothek eingeführt haben, und nennen Sie sie dann in ihren jeweiligen Codes:
startService(new Intent(context, SharedService.class))
Was ich jetzt denke ist, dass es nur einen SharedService
的实例,在进程com.lib.aidl.SharedService
im System geben sollte.
Aber die tatsächliche Situation ist, dass es zwei SharedService
的实例,它们都在进程名为com.lib.aidl.SharedService
Prozesse gibt, aber die Prozess-IDs sind unterschiedlich. Warum das?
Ich möchte jetzt, dass nur eine SharedService
的实例,当第二次调用startService
时回调onStartCommand
Methode im System erscheint. Ist das möglich?
将
替换成
试试
注意,加了个 ':'