Ejemplo n.º 1
0
        /// <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();
 }
Ejemplo n.º 3
0
 public void Dispose()
 {
     _connectedDevice?.Dispose();
 }
Ejemplo n.º 4
0
 public void Close()
 {
     device.Disconnect();
     device.Dispose();
 }