@Override public void onReceive(Context arg0, Intent intent) { String action = intent.getAction(); int iLoop = 0; if (BluetoothDevice.ACTION_UUID.equals(action)) { Parcelable[] uuidExtra = intent.getParcelableArrayExtra("android.bluetooth.device.extra.UUID"); if (null != uuidExtra) iLoop = uuidExtra.length; /*uuidExtra should contain my service's UUID among his files, but it doesn't!!*/ for (int i = 0; i < iLoop; i++) mslUuidList.add(uuidExtra[i].toString()); } }
@Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (BluetoothDevice.ACTION_FOUND.equals(action)) { BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); if (device.getBondState() != BluetoothDevice.BOND_BONDED) { String entry = device.getName() + " (" + getDeviceMajorClassName(device.getBluetoothClass().getMajorDeviceClass()) + ")" + "\n" + device.getAddress(); if (mNewDevicesArrayAdapter.getPosition(entry) == -1) mNewDevicesArrayAdapter.add(entry); } } else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { setProgressBarIndeterminateVisibility(false); setTitle(R.string.text_select_device); findViewById(R.id.button_scan).setVisibility(View.VISIBLE); if (mNewDevicesArrayAdapter.getCount() == 0) { String noDevices = getResources().getText(R.string.text_no_new_devices).toString(); mNewDevicesArrayAdapter.add(noDevices); } } else if (BluetoothDevice.ACTION_PAIRING_REQUEST.equals(action)) { int pairingVariant = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, -1); if (pairingVariant == BluetoothDevice.PAIRING_VARIANT_PASSKEY_CONFIRMATION) { String pairingPasskey = intent.getStringExtra(BluetoothDevice.EXTRA_PAIRING_KEY); if (DBG) Log.d(TAG, "Passkey :" + pairingPasskey); } else if (pairingVariant == BluetoothDevice.PAIRING_VARIANT_PIN) { if (DBG) Log.d(TAG, "Pairing via PIN"); } } else if (BluetoothDevice.ACTION_UUID.equals(action)) { } else if (BluetoothDevice.ACTION_BOND_STATE_CHANGED.equals(action)) { int prevBondState = intent.getIntExtra(BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE, -1); int currBondState = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, -1); BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); // Unpaired if (prevBondState == BluetoothDevice.BOND_BONDED && currBondState == BluetoothDevice.BOND_NONE) { Toast.makeText( getApplicationContext(), "Unpaired " + device.getName(), Toast.LENGTH_SHORT) .show(); } else if (prevBondState == BluetoothDevice.BOND_BONDING && currBondState == BluetoothDevice.BOND_BONDED) { Toast.makeText( getApplicationContext(), "Paired with " + device.getName(), Toast.LENGTH_SHORT) .show(); String entry = device.getName() + " (" + getDeviceMajorClassName(device.getBluetoothClass().getMajorDeviceClass()) + ")" + "\n" + device.getAddress(); mNewDevicesArrayAdapter.remove(entry); } getPairedDevices(); } }
@Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub final String action = intent.getAction(); DatabaseHandler dataEvent = DatabaseHandler.getInstance(); dataEvent.setContext(context); btAdapter = BluetoothAdapter.getDefaultAdapter(); String myDeviceMac = btAdapter.getAddress(); if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) { final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR); switch (state) { case BluetoothAdapter.STATE_OFF: Log.i(TAG, "Bluetooth OFF"); break; case BluetoothAdapter.STATE_TURNING_OFF: Log.i(TAG, "Turning OFF Bluetooth..."); break; case BluetoothAdapter.STATE_ON: Log.i(TAG, "Bluetooth ON"); break; case BluetoothAdapter.STATE_TURNING_ON: Log.i(TAG, "Turning ON Bluetooth..."); break; } } else { if (BluetoothDevice.ACTION_FOUND.equals(action)) { BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); Log.d(TAG, "\n Device: " + device.getName() + ", " + device); dataEvent .getInstance() .getDatabaseManager() .saveData( System.currentTimeMillis(), myDeviceMac, device.getName(), device.getAddress(), 0, 1, 0, 0, 0); } else { if (BluetoothDevice.ACTION_UUID.equals(action)) { BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); Parcelable[] uuidExtra = intent.getParcelableArrayExtra(BluetoothDevice.EXTRA_UUID); Log.d(TAG, "\n UUID Device: " + device.getName() + ", " + device); if (uuidExtra != null) {} } else { if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)) { Log.d(TAG, "\nDiscovery Started"); } else { if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { Log.d(TAG, "\nDiscovery Finished"); } } } } } }