我正在尝试在xamarin.forms项目中使用FLIR热像仪库 . 我已经为AAR创建了一个绑定,并将DLL添加到我的Android项目的引用中 . 项目编译运行没有错误 . 下一步是创建一个设备 . 我已经关注了FLIR Android Java示例 . 这是我的 class (C#):
using Application = Android.App.Application;
using Device = Com.Flir.Flironesdk.Device;
using Exception = System.Exception;
using FlirUsbDevice = Com.Flir.Flironesdk.FlirUsbDevice;
using Frame = Com.Flir.Flironesdk.Frame;
using FrameProcessor = Com.Flir.Flironesdk.FrameProcessor;
using LoadedFrame = Com.Flir.Flironesdk.LoadedFrame;
using RenderedImage = Com.Flir.Flironesdk.RenderedImage;
using SimulatedDevice = Com.Flir.Flironesdk.SimulatedDevice;
public partial class MainMenu : ContentPage, Device.IDelegate, FrameProcessor.IDelegate, Device.IStreamDelegate, Device.IPowerUpdateDelegate
{
private Device flirDevice;
public MainMenu()
{
try
{
Device.StartDiscovery(Application.Context, this);
}
catch (IllegalStateException exception)
{
// it's okay if we've already started discovery
}
catch (SecurityException securityException)
{
//
}
}
public void OnDeviceConnected(Device device)
{
flirDevice = device;
flirDevice.SetPowerUpdateDelegate(this);
flirDevice.StartFrameStream(this);
}
}
StartDiscovery调用完成没有错误,没有IllegalStateException或SecurityException,但后来我得到以下错误 -
未处理的异常:Java.Lang.NullPointerException:尝试在空对象引用上调用接口方法'void com.flir.flironesdk.Device $ Delegate.onDeviceConnected(com.flir.flironesdk.Device)'
我猜测界面无法看到我的OnDeviceConnected方法 . 没有编译器错误,我已经实现了OnDeviceConnected方法,可以在我上面的代码中看到 . 我是否必须以某种方式手动将onDeviceConnected委托分配给我的方法,或者问题出在其他地方?任何帮助非常感谢 .