Внедрение тепловизионной камеры 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 моему методу или проблема кроется в другом месте? Любая помощь высоко ценится.

0 ответов

Другие вопросы по тегам