这就是我在Activity中搜索蓝牙设备并在ListView中显示其名称和mac地址的方法.除了在ListView中显示设备外,您几乎可以使用发现的BluetoothDevice对象执行任何操作.

FindBluetoothActivity.java

public class FindBluetoothActivity extends Activity {

private BluetoothAdapter mBtAdapter;

private ListView mLvDevices;

private ArrayList mDeviceList = new ArrayList();

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_find_bluetooth);

mLvDevices = (ListView) findViewById(R.id.lvDevices);

IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);

registerReceiver(mBtReceiver, filter);

// Getting the Bluetooth adapter

mBtAdapter = BluetoothAdapter.getDefaultAdapter();

if(mBtAdapter != null) {

mBtAdapter.startDiscovery();

Toast.makeText(this, "Starting discovery...", Toast.LENGTH_SHORT).show();

}

else {

Toast.makeText(this, "Bluetooth disabled or not available.", Toast.LENGTH_SHORT).show();

}

}

@Override

protected void onDestroy() {

super.onDestroy();

if (mBtAdapter != null) {

mBtAdapter.cancelDiscovery();

}

unregisterReceiver(mBtReceiver);

}

private final BroadcastReceiver mBtReceiver = new BroadcastReceiver() {

@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);

mDeviceList.add(device.getAddress() + ", " + device.getName()); // get mac address

ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, mDeviceList);

mLvDevices.setAdapter(adapter);

}

}

};

}

布局.xml文件:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".FindBluetoothActivity" >

android:id="@+id/lvDevices"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true" >

Android Manifest.xml文件:

package="com.example.bluetoothexample"

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="11"

android:targetSdkVersion="18" />

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@android:style/Theme.Holo.Light" >

android:name="com.example.bluetoothexample.FindBluetoothActivity"

android:label="@string/app_name" >

附加信息:

>确保您的设备已启用蓝牙>将权限android.permission.BLUETOOTH和android.permission.BLUETOOTH_ADMIN添加到您的Manifest.xml文件>确保在销毁活动时取消注册广播接收器>请记住,您的应用程序需要找到范围内的蓝牙设备.仅在它们上启用蓝牙可能还不够.通常情况是,在其他设备可以发现设备之前,用户需要启用某种“可发现”模式.>请注意,通过蓝牙可以发现设备的范围通常在室内大约10米,室外大约50米

android蓝牙在有效范围内自动连接,android – 如何在范围内找到可用的蓝牙设备?...相关推荐

  1. android蓝牙开启后会尝试自动连接,Android 自动连接蓝牙

    蓝牙是手机和智能硬件通信常用的方式,蓝牙通信可分为传统蓝牙和低功耗蓝牙(BLE).其中BLE的连接断开等操作可以通过Android SDK中提供的API进行操作,而传统蓝牙部分SDK并没有提供相关的A ...

  2. Android BLE低功耗蓝牙重启手机后自动连接失败问题

    最近在做安卓开发,用到蓝牙模块相关功能.主要功能是使用手机连上低功耗蓝牙设备,比如蓝牙手环.关于如何蓝牙连接在这里就不讲述了,网上搜索一大堆相关教程.想要来这里看蓝牙连接方式的朋友可能要大失所望了. ...

  3. Android蓝牙Ble基本操作-(连接2)

    前言: 连接采用nordicsemi库,其中nRF Connect也是使用该库. 蓝牙连接库.nordicsemi官网.nRF Connect apk使用教程.nRF Connect apk下载地址. ...

  4. android ble 实现自动连接,Android:自动重新连接BLE设备

    经过多次试验和磨难之后,这就是我最好让Android自动连接的唯一用户操作是首先选择设备(如果使用设置菜单然后首先配对). 您必须将配对事件捕获到BroadcastReceiver中并执行Blueto ...

  5. Android 根据账号和密码自动连接 WIFI (兼容Android 10)

    源码地址在这里在这里!!!!!master分支哈 文章目录 1 遇到困难 2 源代码 2.1 IWifiConnectListener.java 2.2 IWifiDisConnectListener ...

  6. php和android和mysql_如何使用JSON连接Android和PHP Mysql数据库

    我们先来看一个简单的Android app例子(这里是一个商品存货清单项目),在Android程序中,我们可以访问(call)PHP脚本来执行简单的CRUD操作(创建,读取,更新,删除).为了使你对它 ...

  7. android蓝牙底层通道,底层之旅——Android蓝牙系统分析

    蓝牙系统分为四个层次,内核层.BlueZ库.BlueTooth的适配库.BlueTooth的JNI部分.Java框架层.应用层.下面先来分析Android的蓝牙协议栈. Android的蓝牙协议栈采用 ...

  8. Android蓝牙打印服务,GitHub - ZhuangXiong/BluetoothPrint: android bluetooth print .蓝牙打印

    Android 蓝牙打印 入口和回调方便,目前只针对一个打印模板做了封装. 没有扫描设备功能,后期会加入.用户需要先去 设置---蓝牙---配对设备,配对完成后,可以获取手机上已配对的设备信息,从而进 ...

  9. android 取消蓝牙配对框 实现自动配对,android 取消蓝牙配对框 实现自动配对

    我看了几个文章,主要是接受配对广播,然后设置pin,实现配对,但是网上的大部分手机是不可以的,android.bluetoothdevice 下 action_pair_request ,没有定义这个 ...

最新文章

  1. Windows下Nginx的安装及开机启动
  2. 遇到问题描述:Android Please ensure that adb is correctly located at问题解决
  3. CentOS7 安装 mysql8
  4. laravel --- composer install之后,项目没有vender目录
  5. linux的基础知识——模型结构和数据包的封装
  6. 阿里云rocketmq_云原生时代消息中间件的演进路线
  7. java点_java常见基础点
  8. Tomcat配置可以访问外部资源路径
  9. 同时安装Python2,Python3如何解决冲突问题【官方解法】
  10. U盘未识别驱动器需要格式化
  11. javaweb教程 javaweb项目路径总结
  12. java解析json对象_JAVA解析JSON数据
  13. Linux 操作系统的体系结构
  14. nas 软件 性能测试,NAS性能测试器(NAS performance tester)
  15. C++打卡4-宝箱密码
  16. 服务器维护后灵魂兽,魔兽世界9.0新增10多个鬼服位面,都有机会拿迷时磷光灵魂兽...
  17. php音乐相册怎么打开,手机如何制作相册 手机音乐相册的制作方法
  18. python 获取当前时间(年月日时分秒)
  19. 计算机控制继电器电源,最疯狂DIY 用数千继电器自制8位电脑!
  20. 正大国际期货:你身边有朋友或者亲人做期货挣钱的没有?

热门文章

  1. UVA11645 Bits【位运算+大数】
  2. CCF NOI1154 大整数开方
  3. 优先队列(priority queue)的实现(java,jdk接口)
  4. 书法的艺术 —— 大家的作品
  5. 自反馈与 Mandelbrot set
  6. return 的理解
  7. C++ const型成员函数与 non-const型成员函数
  8. python画3d图-Python 竟能绘制如此酷炫的三维图
  9. 用python画四叶草-使用 python 操作 redis
  10. python百度百科-python语言是由哪个人创造的