Проблема реализации библиотеки форм Xamarin Aar - PullRequest
1 голос
/ 04 февраля 2020

Я добавил библиотеку aar в проект XF. Я создаю класс обратного вызова для метода, который я хочу использовать из библиотеки aar, которую я добавил. Интерфейс aar, в котором я создал класс обратного вызова, также реализует свои собственные методы, а также метод IBinder AsBinder (). Я прочитал документы Bound Services , таким образом, я попытался создать класс Service, но обратный вызов не работал.

Я также пытался:

public IBinder AsBinder()
{
  return new Binder();
}

, но это снова не сработало. Наконец, я попытался:

public IBinder AsBinder()
{
   return CrossCurrentActivity.Current.Activity.Window.DecorView.WindowToken;
}

, но в результате я получил «Throw securityException (вызов Binder для неверного интерфейса)».

Как использовать метод AsBinder?

1 Ответ

0 голосов
/ 09 февраля 2020

Я нашел класс заглушки в aar и использовал его в качестве связующего.

[Register ("asBinder", "()Landroid/os/IBinder;", "GetAsBinderHandler")]
public virtual IBinder AsBinder ()
{
    try {
        JniObjectReference val = _members.get_InstanceMethods ().InvokeVirtualObjectMethod ("asBinder.()Landroid/os/IBinder;", this, null);
        return Java.Lang.Object.GetObject<IBinder> (val.get_Handle (), JniHandleOwnership.TransferLocalRef);
    } finally {
    }
}
...