/// <summary>
        ///
        /// </summary>
        public virtual void StopScan()
        {
            if (m_Adapter == null)
            {
                return;
            }
            m_Adapter.StopLeScan(m_Cb);
#if !UNITY_EDITOR_WIN && UNITY_ANDROID
            AndroidPtr.Free <BluetoothAdapter>(ref m_Adapter);
#endif
        }
示例#2
0
        /// <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;
            }
        }