Android操作蓝牙
来源:互联网 发布:微信开发教程 java 编辑:程序博客网 时间:2024/05/28 15:16
Android操作蓝牙
分类: Android开发2012-10-07 20:24920人阅读评论(0)收藏举报
androidclassapinull
目录(?)[+]
- 检测一个设备是否有蓝牙设备开启蓝牙设备获取配对的设备
- 设置蓝牙的可见时间以便被其他设备发现并连接
- 获取扫描到的设备
1检测一个设备是否有蓝牙设备,开启蓝牙设备,获取配对的设备
这些操作需要权限
<uses-permission android:name="android.permission.BLUETOOTH"/>
下面是判断是否有蓝牙设备,是否开启蓝牙,若没有开启则请求开启蓝牙
- <span style="font-family: SimSun; font-size: 18px;">BluetoothAdapter ba=BluetoothAdapter.getDefaultAdapter();
- if(null!=ba)
- {
- System.out.println("本机有蓝牙设备");
- if(!ba.isEnabled())
- {
- </span><span style="font-family: SimSun; font-size: 18px;"> Intent intent=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
- startActivity(intent);//或者ba.enable(); //同样的关闭WIFi为ba.disable();
- }
- }</span>
下面的代码是获取已经配对的蓝牙设备
- <span style="font-family: SimSun; font-size: 18px;">Set<BluetoothDevice> device=ba.getBondedDevices();
- if(device.size()>0)
- {
- for(BluetoothDevice bd:device)
- {
- System.out.println(bd.getAddress()+bd.getName());
- }
- }
- </span>
2.设置蓝牙的可见时间,以便被其他设备发现并连接
需要权限
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
设置蓝牙的可见时间
- Intent intentvisible=new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
- intentvisible.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,400);
- //这个值么默认120秒,超过300秒将会被设置为300.可是在我的设备上是2400也行。API出错?
- this.startActivity(intentvisible);
3.获取扫描到的设备
需要权限
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
开始扫描的代码- BluetoothAdapter ba=BluetoothAdapter.getDefaultAdapter();
- ba.startDiscovery();
消耗12秒的时间,耗电量大
当扫描到广播后,会发送广播消息,注册一个广播来接收
- class MyReceiver extends BroadcastReceiver
- {
- @Override
- public void onReceive(Context context, Intent intent) {
- BluetoothDevice bd=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
- Toast.makeText(BluetoothActivity.this, bd.getName(), Toast.LENGTH_SHORT).show();
- }
- }
注册这个广播
- IntentFilter intentfilter=new IntentFilter(BluetoothDevice.ACTION_FOUND);
- MyReceiver mr=new MyReceiver();
- this.registerReceiver(mr, intentfilter);
注册一个扫描完毕的广播:
- class FinishFound extends BroadcastReceiver
- {
- @Override
- public void onReceive(Context context, Intent intent) {
- BluetoothActivity.this.unregisterReceiver(this);
- BluetoothActivity.this.unregisterReceiver(mr);
- }
- }
在这个广播中关闭扫描到蓝牙通知的广播,并且关闭自己
注册这个广播我就不说了
下载工程:点击下载
0 0
- Android 蓝牙操作(待续)
- Android 蓝牙操作
- Android之蓝牙操作
- android蓝牙操作一
- Android蓝牙操作
- Android蓝牙操作
- Android操作蓝牙
- Android蓝牙操作
- Android蓝牙操作
- Android开发--蓝牙操作
- android蓝牙操作
- Android蓝牙操作
- Android蓝牙操作
- Android蓝牙操作
- Android蓝牙操作
- Android操作蓝牙
- Android蓝牙操作
- Android蓝牙操作
- Linux最帅版主所经历的面试题,全部答对月薪10K+
- 批处理中setlocal enabledelayedexpansion的含义
- AdaBoost人脸检测训练算法 (上)
- SQL Server 2008下日志清理方法(非dump语句)
- setlocal 本地变量详解
- Android操作蓝牙
- 流媒体开发的有用网址收藏
- 妈妈与婆婆 眼睛湿润了
- 将 string形式的时间转化为 timestamp
- Hadoop科普文——常见的45个问题解答
- C语言文件结构
- 不使用框架,自定义定时任务(web)
- Collection.sort 的用法--很有用哦
- android执行Linux命令