Android源码下载:Bluetooth_4.3BLE蓝牙通信

功能分类:工具

支持平台:Android

运行环境:Eclipse

开发语言:Java

开发工具:Eclipse

源码大小:1.37MB

源码简介

该Demo主要是兼容了支持BLE的Android4.3终端设备之间的蓝牙通信。

主要功能包含:

1、蓝牙的开启、关闭;

2、周围蓝牙开启设备的搜索、建连

3、成功建连后,通过蓝牙向对方发送消息。

注:要想观察发送/接收消息,必须双方都安装了此APP。

源码运行截图

APP打开蓝牙时,对蓝牙的请求

蓝牙通信

搜索周围安装该APP的蓝牙设备

设置蓝牙的某些属性值

源码片段

 
 
 
 
  1. private void scanLeDevice(final boolean enable) { 

            if (enable) {

  2.             // Stops scanning after a pre-defined scan period. 

                mHandler.postDelayed(new Runnable() {

  3.                 @Override 

                    public void run() {

  4.                     mScanning = false; 

                        mBluetoothAdapter.stopLeScan(mLeScanCallback);

  5.                     invalidateOptionsMenu(); 

                    }

  6.             }, SCAN_PERIOD);
  7.             mScanning = true; 

                mBluetoothAdapter.startLeScan(mLeScanCallback);

  8.         } else { 

                mScanning = false;

  9.             mBluetoothAdapter.stopLeScan(mLeScanCallback); 

            }

  10.         invalidateOptionsMenu(); 

        }

  11.   

        // Adapter for holding devices found through scanning.

  12.     private class LeDeviceListAdapter extends BaseAdapter { 

            private ArrayList mLeDevices;

  13.         private LayoutInflater mInflator;
  14.         public LeDeviceListAdapter() { 

                super();

  15.             mLeDevices = new ArrayList(); 

                mInflator = DeviceScanActivity.this.getLayoutInflater();

  16.         }
  17.         public void addDevice(BluetoothDevice device) { 

                if(!mLeDevices.contains(device)) {

  18.                 mLeDevices.add(device); 

                }

  19.         }
  20.         public BluetoothDevice getDevice(int position) { 

                return mLeDevices.get(position);

  21.         }
  22.         public void clear() { 

                mLeDevices.clear();

  23.         }
  24.         @Override 

            public int getCount() {

  25.             return mLeDevices.size(); 

            }

  26.   

            @Override

  27.         public Object getItem(int i) { 

                return mLeDevices.get(i);

  28.         }
  29.         @Override 

            public long getItemId(int i) {

  30.             return i; 

            }

  31.   

            @Override

  32.         public View getView(int i, View view, ViewGroup viewGroup) { 

                ViewHolder viewHolder;

  33.             // General ListView optimization code. 

                if (view == null) {

  34.                 view = mInflator.inflate(R.layout.listitem_device, null); 

                    viewHolder = new ViewHolder();

  35.                 viewHolder.deviceAddress = (TextView) view.findViewById(R.id.device_address); 

                    viewHolder.deviceName = (TextView) view.findViewById(R.id.device_name);

  36.                 view.setTag(viewHolder); 

                } else {

  37.                 viewHolder = (ViewHolder) view.getTag(); 

                }

  38.   

                BluetoothDevice device = mLeDevices.get(i);

  39.             final String deviceName = device.getName(); 

                if (deviceName != null && deviceName.length() > 0)

  40.                 viewHolder.deviceName.setText(deviceName); 

                else

  41.                 viewHolder.deviceName.setText(R.string.unknown_device); 

                viewHolder.deviceAddress.setText(device.getAddress());

  42.   

                return view;

  43.         } 

        }

  44.   

        // Device scan callback.

  45.     private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
  46.         @Override 

            public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {

  47.             runOnUiThread(new Runnable() { 

                    @Override

  48.                 public void run() { 

                        mLeDeviceListAdapter.addDevice(device);

  49.                     mLeDeviceListAdapter.notifyDataSetChanged(); 

                    }

  50.             }); 

            }

  51.     }; 

当前文章:Android源码下载:Bluetooth_4.3BLE蓝牙通信
链接地址:http://www.shufengxianlan.com/qtweb/news8/414908.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联