'BitmapStub' 在命名空间 'Android.Graphics' 中不存在使用 Xamarin.Forms

'BitmapStub' does not exist in the namespace 'Android.Graphics' Using Xamarin.Forms

我在 Xamarin forms 中实现了 Sunmi T1 mini 设备内置打印机的应用程序,我想打印带有一些文本的图像,例如账单收据。

我为如图所示的商米T1 mini集成了AIDL文件。

但我在 IWoyouService.cs 中遇到命名空间问题“命名空间名称 'BitmapStub' 的类型在命名空间 'Android.Graphics'. 中不存在“

case TransactionPrintBitmap: {
                data.EnforceInterface (descriptor);
                Android.Graphics.Bitmap arg0 = default (Android.Graphics.Bitmap);
                arg0 = Android.Graphics.BitmapStub.AsInterface (data.ReadStrongBinder ());
                ICallback arg1 = default (ICallback);
                arg1 = ICallbackStub.AsInterface (data.ReadStrongBinder ());
                this.PrintBitmap (arg0, arg1);
                reply.WriteNoException ();
                return true;
                }

我附上我的 AIDL Zip 文件 https://drive.google.com/file/d/1lrCgZwDrfyqs6LAwTP3pQ6nMzYIW4hrY/view?usp=sharing

如何解决 Xamarin.Forms

中的这个错误

我遇到了完全相同的问题,并设法通过添加另一个 AIDL 文件来定义 'Bitmap' 是什么来解决它。

我从 Android 开源项目复制了 this file 并将其添加到我的项目中,并将构建操作设置为 Android 接口定义,就像其他 Sunmi AIDL 文件一样。

不知道为什么 Xamarin 不能自动处理这个问题,但是添加这个解决了我的问题,我能够构建并成功调用接受位图参数的接口方法。

以防 link 出现问题,这是您需要添加的整个文件 - 它非常小:

/* Save this in Bitmap.aidl and add to your project alongside the others */

package android.graphics;

parcelable Bitmap;