Xamarin Android、Java 绑定库和 IJavaPeerable 实现

问题描述

我已经为 .aar 文件创建了一个绑定库,详见此处 https://docs.microsoft.com/en-us/samples/xamarin/monodroid-samples/javaintegration-aarbinding/

这暴露了一个方法

GetBarCode (global::Com.Scandecode.Inf.IScanInterfaceOnScanListener scanListener)

IScanInterfaceOnScanListener 继承了 IJavaObject、IJavaPeerable。

如何实现从 IJavaPeerable 继承的方法,以便调用方法

void SetJniIdentityHashCode(int value)
void SetPeerReference(JniObjectReference reference)
void SetJniManagedPeerState(JniManagedPeerStates value
void UnregisterFromruntime()
void disposeUnlessReferenced()
void disposed()
void Finalized()

或 我的绑定库有问题吗?这是给出的示例 Java 代码

       scanDecode.getBarCode(new ScanInterface.OnScanListener() {
            @Override
            public void getBarcode(String data) {
                scancount+=1;
                tvcound.setText(getString(R.string.scan_time)+scancount+"");
                mReception.append(data+"\n");
            }

            @Override
            public void getBarcodeByte(byte[] bytes) {
                //返回原始解码数据
//                scancount+=1;
//                tvcound.setText(getString(R.string.scan_time)+scancount+"");
//                mReception.append(DataConversionUtils.byteArrayToString(bytes) +"\n");
            }
        });

ScanInterface.OnScanListener 似乎不是由 Bindings 库生成的。

背景:这是为了与 Newland SD100 平板电脑上的硬件条码扫描仪集成。

编辑: 好像和实现 IEventListener 差不多,会多研究一下

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)