Pertama sekali, saya mempunyai perpustakaan lib, yang mentakrifkan Perkhidmatan:
<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>
Sekarang, tambahkan dua apl yang telah memperkenalkan pustaka ini, kemudian panggil apl tersebut dalam kod masing-masing:
startService(new Intent(context, SharedService.class))
Apa yang saya fikirkan sekarang ialah hanya ada satu SharedService
的实例,在进程com.lib.aidl.SharedService
dalam sistem.
Tetapi keadaan sebenar ialah terdapat dua SharedService
的实例,它们都在进程名为com.lib.aidl.SharedService
proses, tetapi ID proses adalah berbeza. kenapa begitu?
Saya kini mahu hanya satu SharedService
的实例,当第二次调用startService
时回调onStartCommand
kaedah muncul dalam sistem Adakah ini mungkin?
将
替换成
试试
注意,加了个 ':'