[Android蓝牙]搜索周围蓝牙设备
2015-01-12 10:37
344 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">搜索周围蓝牙设备,在我看来,有三个重要的地方,1.定义mReceiver,在这里面编写显示未匹配的蓝牙设备的代码</span>
2.在onCreate里面,编写显示已经匹配过的蓝牙设备的代码
3.在onCreate里面,注册mReceiver
看代码:
package com.example.bluetoothtest; import java.util.Set; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends ActionBarActivity { private Button mBtn; private TextView mTv; private BluetoothAdapter mBtAdapter; private BroadcastReceiver mReceiver = new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String action = intent.getAction(); if(action.equals(BluetoothDevice.ACTION_FOUND)){ BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); if(device.getBondState() != BluetoothDevice.BOND_BONDED) mTv.append(device.getName() + "\n\n"); }else if(action.equals(BluetoothAdapter.ACTION_DISCOVERY_FINISHED)){ mBtAdapter.cancelDiscovery(); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTv = (TextView)findViewById(R.id.tv_show); mBtAdapter = BluetoothAdapter.getDefaultAdapter(); mBtn = (Button)findViewById(R.id.button_search); mBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub if(mBtAdapter.isDiscovering()) mBtAdapter.cancelDiscovery(); mBtAdapter.startDiscovery(); } }); Set<BluetoothDevice> devices = mBtAdapter.getBondedDevices(); if(devices.size() > 0){ for(BluetoothDevice device : devices){ mTv.append(device.getName() + "\n\n"); } } IntentFilter mFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND); registerReceiver(mReceiver,mFilter); mFilter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); registerReceiver(mReceiver, mFilter); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); unregisterReceiver(mReceiver); } }
相关文章推荐
- Android蓝牙开发——搜索设备
- Android蓝牙设备的配对,连接,搜索
- Android开发之蓝牙(Bluetooth)操作(二)--修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备(转)
- WM蓝牙开发--搜索周围的设备
- android 如何修改蓝牙搜索设备的最大数目
- Android开发蓝牙篇之蓝牙设备开启、搜索周边蓝牙设备
- Android蓝牙搜索设备,向其发送数据并接收
- android开发之蓝牙初步 扫描已配对蓝牙、更改蓝牙可见性、搜索外部蓝牙设备
- Android蓝牙搜索三星手机找不到设备
- Android开发之蓝牙 --修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备
- Android之蓝牙startDiscovery()搜索不到设备
- Android 蓝牙通信开发(一) 搜索蓝牙设备
- Android BLE与终端通信(二)——Android Bluetooth基础搜索蓝牙设备显示列表
- Android——搜索传统蓝牙设备
- android-扫描周围蓝牙设备
- Android BLE与终端通信(二)——Android Bluetooth基础科普以及搜索蓝牙设备显示列表
- Android 扫描周围蓝牙设备
- Android 蓝牙Bluetooth搜索设备。
- Android蓝牙搜索设备-刘宇
- Android开发之蓝牙(Bluetooth)操作(二)--修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备