Я создаю приложение, которое считывает каждую службу, которая имеет IntentFilter, соответствующий настраиваемое действие с помощью этого:Запуск службы от другого APK из ResolveInfo
Intent intent = new Intent(ACTION);
List<ResolveInfo> infos = getActivity().getPackageManager()
.queryIntentServices(intent, 0);
У меня нет никаких проблем с извлечением Услуг, но когда я пытаюсь привязать их к текущей Деятельности, моя реализация IBinder не передается в onServiceConnected(ComponentName, IBinder)
. Вместо этого передается BinderProxy
.
Как я могу получить LocalBinder
от этого BinderProxy
?
EDIT:
Вот моя реализация:
public abstract class LocalService extends Service {
private LocalBinder mBinder = new LocalBinder();
public class LocalBinder extends Binder {
public LocalService getServiceInstance() {
return LocalService.this;
}
}
@Override
public final IBinder onBind(Intent intent) {
return mBinder;
}
public abstract List<Category> getInitialCategories();
public abstract void onObjectSelected(Item object,
LocalCallback callback);
}
То, что я хочу сделать, это быть в состоянии назвать последние 2 метода от реализации других людей моего LocalService.
Если я не могу использовать привязку, как я могу связываться между моими «службами» и приложением? им обязательно быть в разных апках. – razielsarafan
Я отредактировал мой вопрос, чтобы дать больше информации о том, чего я хочу достичь. – razielsarafan
@ santirivera92 Отредактированный ответ, хотя он довольно общий, потому что я на самом деле не использовал это. Однако пример в документах, по-видимому, является важным для вашего случая использования. Надеюсь, это полезно. – matiash