У меня есть служба, реализованная в модуле A. Теперь приложения B и C используют эту библиотеку для связывания с сервисом с использованием bindService(service, connection, BIND_AUTO_CREATE)
, но он всегда создает новый экземпляр службы. Я использую Messenger
для возврата связующего на объекты соединения. Если я использую AIDL, то как можно использовать один и тот же экземпляр службы? Я прочитал и попробовал почти все ответы stackoverflow, связанные с этим вопросом. Но все же я не могу достичь того, что я объяснил выше.Android привязывается к существующей службе в нескольких приложениях
Манифест этой службы определен внутри модуля A с полным именем процесса для атрибута процесса и экспортирован, включен, имеет значение true.
<service
android:name="io.packagename.LocationService"
android:enabled="true"
android:exported="true"
android:permission="android.permission.ACCESS_FINE_LOCATION"
android:process="io.packagename.locationService" />
LocationService-Класс:
class LocationService extends Service {
IncomingHandler handler = new IncomingHandler()
Messenger messenger = new Messenger(handler)
public IBinder onBind(Intent intent) {
Log.d(TAG, "onBind")
return messenger.binder
}
}
Любая помощь очень ценится.
отправьте свой класс обслуживания – Lino
@Lino У него мало кода, но в любом случае его добавили. Спасибо –
спасибо. Как вы проверяете, что создано больше экземпляров службы? – Lino