0

これを使用して、カスタム アクションに一致する IntentFilter を持つすべての Service を読み取るアプリを作成しています。

Intent intent = new Intent(ACTION);
List<ResolveInfo> infos = getActivity().getPackageManager()
                .queryIntentServices(intent, 0);

サービスの取得に問題はありませんが、サービスを現在のアクティビティにバインドしようとすると、IBinder の実装が に渡されませんonServiceConnected(ComponentName, IBinder)。代わりに、aBinderProxyが渡されます。

どうすればそこLocalBinderから取得できBinderProxyますか?

編集:

これが私の実装です:

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);

}

私がやりたいことは、他の人の LocalService の実装から最後の 2 つのメソッドを呼び出せるようにすることです。

4

1 に答える 1