首先,我有一個lib函式庫,函式庫裡面定義了以個Service:
<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>
現在,加入有兩個app都引進了這個函式庫,然後在各自的程式碼裡都呼叫了:
startService(new Intent(context, SharedService.class))
我現在想的是系統中應該只有一個SharedService
的實例,在進程com.lib.aidl.SharedService
中。
但是實際情況是有兩個SharedService
的實例,它們都在進程名為com.lib.aidl.SharedService
的進程中,但是進程id是不一樣的。這是為什麼?
我現在想讓系統中只出現一個SharedService
的實例,當第二次呼叫startService
時回呼onStartCommand
方法,這個可以做到麼?
將
雷雷替換成
雷雷嘗試
注意,加了個':'