Внедрение тепловизионной камеры FLIR на CAT-S60 с помощью xamarin.forms
Я пытаюсь использовать библиотеку тепловизоров FLIR в проекте xamarin.forms. Я создал привязку для AAR и добавил DLL к ссылкам моего проекта Android. Проекты компилируются и запускаются без ошибок. Следующим шагом является создание устройства. Я последовал примеру FLIR Android Java. Вот мой класс (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 моему методу или проблема кроется в другом месте? Любая помощь высоко ценится.