/** * 打开设备 */ private void openDevice() { if (myInterface != null) { UsbDeviceConnection conn = null; // 在open前判断是否有连接权限;对于连接权限可以静态分配,也可以动态分配权限,可以查阅相关资料 if (myUsbManager.HasPermission(myUsbDevice)) { conn = myUsbManager.OpenDevice(myUsbDevice); } if (conn == null) { return; } if (conn.ClaimInterface(myInterface, true)) { myDeviceConnection = conn; // 到此你的android设备已经连上HID设备 Log.Debug(TAG, "打开设备成功"); } else { conn.Close(); } } }
/// <summary> /// 释放连接 /// </summary> public void Close() { if (myDeviceConnection != null) { myDeviceConnection.Close(); myDeviceConnection = null; } }
public void onDestroy() { if (mConnection != null) { mConnection.ReleaseInterface(mIntf); mConnection.Close(); } }
public void Close() { if (!connected) { return; } pinListenerThreadRunning = false; pinListenerThread.Join(); connection.Close(); connected = false; }
/** * 打开设备 */ private int openDevice() { int err = 0; if (myInterface != null) { UsbDeviceConnection conn = null; // 在open前判断是否有连接权限;对于连接权限可以静态分配,也可以动态分配权限,可以查阅相关资料 // conn = myUsbManager.OpenDevice(myUsbDevice); if (myUsbManager.HasPermission(myUsbDevice)) { conn = myUsbManager.OpenDevice(myUsbDevice); } else { err = (int)PrintError.NoPermission; Log.Debug("err", "没有连接权限"); return(err); } if (conn.ClaimInterface(myInterface, true)) { myDeviceConnection = conn; // 到此你的android设备已经连上HID设备 Log.Debug("info", "连接HID设备成功"); err = 1; return(err); } else { err = (int)PrintError.ConnectedFailure; Log.Debug("err", "连接HID设备失败"); conn.Close(); return(err); } } else { err = (int)PrintError.Error; return(err); } }
/// <summary> /// /// </summary> public override void Close() { // Forcibly close the read thread. if (m_ReadThread != null) { m_ReadThread.Abort(); m_ReadThread = null; } if (m_IsOpen) { // m_UsbConnection.ReleaseInterface(m_UsbIntf); m_UsbConnection.Close(); // Clean up UsbManager.main.onUsbDeviceAttached -= OnUsbDeviceAttached; UsbManager.main.onUsbDeviceDetached -= OnUsbDeviceDetached; AndroidPtr.Free(ref m_UsbDevice); AndroidPtr.Free(ref m_UsbIntf); AndroidPtr.Free(ref m_UsbConnection); AndroidPtr.Free(ref m_UsbReqIn); // m_IsOpen = false; } }
public override void Close() { _connection.Close(); }
public void Dispose() { _interruptListenerThread?.Abort(); _connection?.ReleaseInterface(_interface); _connection?.Close(); }
public override void Close() { _UsbDeviceConnection?.Close(); base.Close(); }