/// <summary> /// /// </summary> public virtual void StartScan() { if (m_Adapter != null) { StopScan(); } if (m_Cb == null) { m_Cb = new BluetoothAdapter.LeScanCallback(this); } m_Adapter = BluetoothAdapter.GetDefaultAdapter(); m_Adapter.StartLeScan(m_Cb); Log.i("BluetoothScanner", "StartScan"); }
/// <summary> /// /// </summary> public virtual void Open() { if (m_Device != null) { Close(); } #if UNITY_EDITOR || UNITY_STANDALONE BluetoothAdapter adapter = BluetoothAdapter.GetDefaultAdapter(); #elif UNITY_ANDROID using (BluetoothAdapter adapter = BluetoothAdapter.GetDefaultAdapter()) #endif { if (!adapter.IsEnabled()) { return; } m_Device = adapter.GetRemoteDevice(m_Address); // <!-- if (m_Device == null) { if (m_OpenCallback != null) { m_OpenCallback.OnStreamOpenFailure(this); } else { Log.e("BleSerialPort", "No m_OpenCallback"); //BluetoothScannerGUI.RequestAddress(Open); } return; } // --> m_Gatt = m_Device.ConnectGatt( #if UNITY_EDITOR || UNITY_STANDALONE Csr.Bluetooth.Object.NULL_PTR, #elif UNITY_ANDROID Android.App.Activity.currentActivity.m_SealedPtr, #endif false, m_Callback = new BluetoothGattCallback(this) ); } m_BufferRead = new byte[m_SizeRead = 0]; }
/// <summary> /// /// </summary> public virtual void OpenDevice(string i_address) { string text = i_address; //m_TxtAddress.text; if (!string.IsNullOrEmpty(text)) { if (m_Adapter == null) { m_Adapter = BluetoothAdapter.GetDefaultAdapter(); m_Cb = new BluetoothGattCallback(this); } #if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN// Log.i(text, NativeMethods.libcsr_ext_address_to_string_1(m_Adapter.AddressPool[text])); m_Gatt = m_Adapter.GetRemoteDevice(text).ConnectGatt(Csr.Bluetooth.Object.NULL_PTR, false, m_Cb); #elif UNITY_ANDROID m_Gatt = m_Adapter.GetRemoteDevice(text).ConnectGatt(null, false, m_Cb); #endif } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Setup the window RequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); SetContentView(R.Layout.device_list); // Set result CANCELED in case the user backs out SetResult(Activity.RESULT_CANCELED); // Initialize the button to perform device discovery var scanButton = (Button)FindViewById(R.Id.button_scan); scanButton.Click += (s, x) => { doDiscovery(); ((View)s).SetVisibility(View.GONE); }; // Initialize array adapters. One for already paired devices and // one for newly discovered devices mPairedDevicesArrayAdapter = new ArrayAdapter <string>(this, R.Layout.device_name); mNewDevicesArrayAdapter = new ArrayAdapter <string>(this, R.Layout.device_name); // Find and set up the ListView for paired devices var pairedListView = (ListView)FindViewById(R.Id.paired_devices); pairedListView.Adapter = mPairedDevicesArrayAdapter; pairedListView.ItemClick += OnDeviceClick; // Find and set up the ListView for newly discovered devices ListView newDevicesListView = (ListView)FindViewById(R.Id.new_devices); newDevicesListView.Adapter = mNewDevicesArrayAdapter; newDevicesListView.ItemClick += OnDeviceClick; // Register for broadcasts when a device is discovered IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); this.RegisterReceiver(mReceiver, filter); // Register for broadcasts when discovery has finished filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); this.RegisterReceiver(mReceiver, filter); // Get the local Bluetooth adapter mBtAdapter = BluetoothAdapter.GetDefaultAdapter(); // Get a set of currently paired devices var pairedDevices = mBtAdapter.BondedDevices; // If there are paired devices, add each one to the ArrayAdapter if (pairedDevices.Size() > 0) { FindViewById(R.Id.title_paired_devices).Visibility = View.VISIBLE; foreach (BluetoothDevice device in pairedDevices.AsEnumerable()) { mPairedDevicesArrayAdapter.Add(device.Name + "\n" + device.Address); } } else { string noDevices = Resources.GetText(R.String.none_paired).ToString(); mPairedDevicesArrayAdapter.Add(noDevices); } }
public const int STATE_CONNECTED = 3; // now connected to a remote device /// <summary> /// Constructor. Prepares a new BluetoothChat session. </summary> /// <param name="context"> The UI Activity Context </param> /// <param name="handler"> A Handler to send messages back to the UI Activity </param> public BluetoothChatService(Context context, Handler handler) { mAdapter = BluetoothAdapter.GetDefaultAdapter(); mState = STATE_NONE; mHandler = handler; }