android蓝牙在有效范围内自动连接,android – 如何在范围内找到可用的蓝牙设备?...
这就是我在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 – 如何在范围内找到可用的蓝牙设备?...相关推荐
- android蓝牙开启后会尝试自动连接,Android 自动连接蓝牙
蓝牙是手机和智能硬件通信常用的方式,蓝牙通信可分为传统蓝牙和低功耗蓝牙(BLE).其中BLE的连接断开等操作可以通过Android SDK中提供的API进行操作,而传统蓝牙部分SDK并没有提供相关的A ...
- Android BLE低功耗蓝牙重启手机后自动连接失败问题
最近在做安卓开发,用到蓝牙模块相关功能.主要功能是使用手机连上低功耗蓝牙设备,比如蓝牙手环.关于如何蓝牙连接在这里就不讲述了,网上搜索一大堆相关教程.想要来这里看蓝牙连接方式的朋友可能要大失所望了. ...
- Android蓝牙Ble基本操作-(连接2)
前言: 连接采用nordicsemi库,其中nRF Connect也是使用该库. 蓝牙连接库.nordicsemi官网.nRF Connect apk使用教程.nRF Connect apk下载地址. ...
- android ble 实现自动连接,Android:自动重新连接BLE设备
经过多次试验和磨难之后,这就是我最好让Android自动连接的唯一用户操作是首先选择设备(如果使用设置菜单然后首先配对). 您必须将配对事件捕获到BroadcastReceiver中并执行Blueto ...
- Android 根据账号和密码自动连接 WIFI (兼容Android 10)
源码地址在这里在这里!!!!!master分支哈 文章目录 1 遇到困难 2 源代码 2.1 IWifiConnectListener.java 2.2 IWifiDisConnectListener ...
- php和android和mysql_如何使用JSON连接Android和PHP Mysql数据库
我们先来看一个简单的Android app例子(这里是一个商品存货清单项目),在Android程序中,我们可以访问(call)PHP脚本来执行简单的CRUD操作(创建,读取,更新,删除).为了使你对它 ...
- android蓝牙底层通道,底层之旅——Android蓝牙系统分析
蓝牙系统分为四个层次,内核层.BlueZ库.BlueTooth的适配库.BlueTooth的JNI部分.Java框架层.应用层.下面先来分析Android的蓝牙协议栈. Android的蓝牙协议栈采用 ...
- Android蓝牙打印服务,GitHub - ZhuangXiong/BluetoothPrint: android bluetooth print .蓝牙打印
Android 蓝牙打印 入口和回调方便,目前只针对一个打印模板做了封装. 没有扫描设备功能,后期会加入.用户需要先去 设置---蓝牙---配对设备,配对完成后,可以获取手机上已配对的设备信息,从而进 ...
- android 取消蓝牙配对框 实现自动配对,android 取消蓝牙配对框 实现自动配对
我看了几个文章,主要是接受配对广播,然后设置pin,实现配对,但是网上的大部分手机是不可以的,android.bluetoothdevice 下 action_pair_request ,没有定义这个 ...
最新文章
- Windows下Nginx的安装及开机启动
- 遇到问题描述:Android Please ensure that adb is correctly located at问题解决
- CentOS7 安装 mysql8
- laravel --- composer install之后,项目没有vender目录
- linux的基础知识——模型结构和数据包的封装
- 阿里云rocketmq_云原生时代消息中间件的演进路线
- java点_java常见基础点
- Tomcat配置可以访问外部资源路径
- 同时安装Python2,Python3如何解决冲突问题【官方解法】
- U盘未识别驱动器需要格式化
- javaweb教程 javaweb项目路径总结
- java解析json对象_JAVA解析JSON数据
- Linux 操作系统的体系结构
- nas 软件 性能测试,NAS性能测试器(NAS performance tester)
- C++打卡4-宝箱密码
- 服务器维护后灵魂兽,魔兽世界9.0新增10多个鬼服位面,都有机会拿迷时磷光灵魂兽...
- php音乐相册怎么打开,手机如何制作相册 手机音乐相册的制作方法
- python 获取当前时间(年月日时分秒)
- 计算机控制继电器电源,最疯狂DIY 用数千继电器自制8位电脑!
- 正大国际期货:你身边有朋友或者亲人做期货挣钱的没有?