Не удаётся вывести список подключённых устройств в Xamarin.Forms

Цель следующая: необходимо вывести список подключённых устройств в Xamarin.Forms. Для этого использую DependencyService следующим образом: в общем проекте создал простенький interface IUsbConnection:

public interface IUsbConnection
{
    List<string> GetDeviceList();
}

В проекте App.Android создал класс AndroidUsbConnection, наследующий этот interface, со следующей логикой:

public class AndroidUsbConnection : IUsbConnection
{
    public List<string> GetDeviceList()
    {
        List<string> result = null;
        UsbManager manager = Android.App.Application.Context.GetSystemService(Context.UsbService) as UsbManager;
        foreach (KeyValuePair<string, UsbDevice> device in manager.DeviceList)
        {
            result.Add(device.Key);
        }
        return result;
    }
}

И в общем проекте, в MainPage (содержит один Label и один Button), сделал следующую обработку нажатия на Button:

    private void bButton_Clicked(object sender, EventArgs e)
    {
        IUsbConnection connection = DependencyService.Get<IUsbConnection>();
        var devices = connection.GetDeviceList();
        string str = "";
        if (devices != null)
        {
            foreach (string s in devices)
            {
                str = s + "\n";
            }
        }
        else
        {
            str = "List is empty";
        }
        lValue.Text = str;
    }

Проблема в том, что когда происходит выполнения цикла foreach в обработчике событий, приложение крашится. Почему так происходит?


Ответы (0 шт):