Android Bluetooth使用详解

来源:互联网 发布:java sleep 作用 编辑:程序博客网 时间:2024/05/03 19:09

1.判断是否支持Bluetooth

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();    if(bluetoothAdapter == null) {       //the device doesn't support bluetooth    } else {      //the device support bluetooth    }


2.如果支持,打开Bluetooth

if(!bluetoothAdapter.isEnable()) {        Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);        startActivityForResult(enableIntent,REQUEST_ENABLE_BT);    }

3.监视Bluetooth打开状态

BroadcastReceiver bluetoothState = new BroadcastReceiver() {    public void onReceive(Context context, Intent intent) {    String stateExtra = BluetoothAdapter.EXTRA_STATE;       int state = intent.getIntExtra(stateExtra, -1);       switch(state) {           case BluetoothAdapter.STATE_TURNING_ON:               <span style="white-space:pre"></span>break;           case BluetoothAdapter.STATE_ON:        <span style="white-space:pre"></span>break;    <span style="white-space:pre"></span>case BluetoothAdapter.STATE_TURNING_OFF:        <span style="white-space:pre"></span>break;    <span style="white-space:pre"></span>case BluetoothAdapter.STATE_OFF:        <span style="white-space:pre"></span>break;    <span style="white-space:pre"></span>}    <span style="white-space:pre"></span>}
}
<span style="color: rgb(51, 51, 51); font-family: 宋体; font-size: 14px; line-height: 28px; text-indent: 28px;">registerReceiver(bluetoothState,new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));</span>



4.设置本地设备可以被其它设备搜索

<span style="white-space:pre"></span>Intent discoveryIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);<span style="white-space:pre"></span>startActivityForResult(discoveryIntent,REQUEST_DISCOVERY);BroadcastReceiver discovery = new BroadcastReceiver() {    @Override    public void onRecevie(Content context, Intent intent) {        String scanMode = BluetoothAdapter.EXTRA_SCAN_MODE;        String preScanMode = BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE;        int mode = intent.getIntExtra(scanMode);    }}registerReceiver(discovery,new IntentFilter(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED);


5.搜索设备

开始搜索 bluetoothAdapter.startDiscovery();停止搜索 bluetoothAdapter.cancelDiscovery();当发现一个设备时,系统会发出ACTION_FOUND广播消息,我们可以实现接收这个消息的BroadcastReceiverBroadcastReceiver deviceFound = new BroadcastReceiver() {    @Override    public void onReceiver(Content content, Intent intent) {        String remoteDeviceName = intent.getStringExtra(BluetoothAdapter.EXTRA_NAME);        BluetoothDevice remoteDevice = intent.getParcelableExtra(BluetoothAdapter.EXTRA_DEVICE);    }}registerReceiver(deviceFound, new IntentFilter(BluetoothAdapter.ACTION_FOUND);


0 0
原创粉丝点击