/// <summary> /// Check if a device with given description is connected with MTP / PTP enabled. /// By default, some Android device is connected as USB charging only. /// </summary> /// <param name="deviceDescription">Device description</param> /// <returns>true if device connected with MTP / PTP capability.</returns> public bool IsDeviceConnected(string deviceDescription) { MediaDevice ptrDevice = GetDevices().FirstOrDefault(x => x.Description == deviceDescription); if (ptrDevice == null) { return(false); } //Enumerate Directory to ensure Media Device in MTP or PTP Mode. //By default, Android device is connected as USB Charging only with no file access. ptrDevice.Connect(); MediaDirectoryInfo rootInfo = ptrDevice.GetRootDirectory(); try { var dirs = rootInfo.EnumerateDirectories(); if (rootInfo.EnumerateDirectories().Count() > 0) { ptrDevice.Dispose(); ptrDevice = null; return(true); } } catch { ptrDevice.Dispose(); ptrDevice = null; } return(false); }
public void Dispose() { device?.Dispose(); }
public void Dispose() { _connectedDevice?.Dispose(); }
public void Close() { device.Disconnect(); device.Dispose(); }