Xamarin Forms Aar Library实施问题

问题描述 投票:1回答:1

我在XF项目中添加了aar库。我为要从已添加的aar库中使用的方法创建回调类。我在其中创建了回调类的aar接口也实现了自己的方法以及IBinder AsBinder()方法。我阅读了Bound Services文档,因此尝试创建Service类,但回调不起作用。

我也尝试过:

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

但是它不再起作用。最后,我尝试了:

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

但是我得到了“引发securityException(绑定器调用到错误的接口)”的结果。

我应该如何使用AsBinder方法?

xamarin xamarin.forms xamarin.android
1个回答
0
投票

我在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 {
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.