当前位置: 代码迷 >> Android >> android 打开蓝牙设备 展示已经配对的蓝牙设备 ,并将已配对的蓝牙设备显示在textview中
  详细解决方案

android 打开蓝牙设备 展示已经配对的蓝牙设备 ,并将已配对的蓝牙设备显示在textview中

热度:68   发布时间:2016-04-28 04:51:15.0
android 打开蓝牙设备 显示已经配对的蓝牙设备 ,并将已配对的蓝牙设备显示在textview中

(1)要想使用android 手机的Bluetooth,需要在androidmanifest文件中加入使用蓝牙的权限。

 <uses-permission android:name="android.permission.BLUETOOTH" />    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

注意:权限应该添加在androidmanifest文件中<application>标签之外,<manifest>标签之内

(2)要确定是否存在可以使用的蓝牙设备,若存在判断蓝牙设备是否打开,如果没有打开的话,就打开蓝牙

 BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();				if (mBluetoothAdapter == null) 				{				   Toast.makeText(MainActivity.this, "此设备不支持蓝牙传输功能!", Toast.LENGTH_SHORT).show();				}				else{						Toast.makeText(MainActivity.this, "此设备支持蓝牙传输功能!", Toast.LENGTH_SHORT).show();					if (!mBluetoothAdapter.isEnabled()) 					{						  Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);  						  enableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);  				            startActivityForResult(enableIntent, REQUEST_ENABLE_BT);				           Toast.makeText(MainActivity.this, "蓝牙设备已经打开!", Toast.LENGTH_SHORT).show(); 				         			       
注意:1)BluetoothAdapter 就代表本地蓝牙设备,用getDefaultAdapter()获取本地蓝牙设备,其返回值如果为空表示不存在蓝牙设备,否则就说明存在蓝牙设备

2)用isEnabled()方法来确定蓝牙设备是否打开,若没有打开返回值为false,需要重新调用startActivityForResult(enableIntent, REQUEST_ENABLE_BT);方法来打开蓝牙设备。在打开蓝牙设备的过程中会弹出对话框,询问蓝牙通信的权限、

(3)查找已经配对过的蓝牙设备用getBondedDevices();方法,并把它放在集合中,显示在textview中

Set<BluetoothDevice> pairedDevices=mBluetoothAdapter.getBondedDevices();					if(pairedDevices.size() > 0){						for (BluetoothDevice bluetoothDevice : pairedDevices) {							textview1.append(bluetoothDevice.getName() + ":"  				                        + bluetoothDevice.getAddress() + "\n\n");						}					}

注意:每个已经配对的蓝牙设备都存在一个名字和它的MAC地址。

可以看我接下来的一篇文章搜索附近的已经打开的蓝牙设备






  相关解决方案