判断当前手机蓝牙是否开启
来源:互联网 发布:网络语call是什么意思 编辑:程序博客网 时间:2024/05/18 02:39
众所周知蓝牙是我们手机都有的一个功能
可以利用代码来实现管理蓝牙的状态
private BluetoothAdapter adapter; private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //接收蓝牙状态变化的广播 String action = intent.getAction(); //发现蓝牙设备 BluetoothDevice device=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); if (action.equals(BluetoothDevice.ACTION_FOUND)) { String name= device.getName(); } else if (action.equals(BluetoothDevice.ACTION_BOND_STATE_CHANGED)) { //可以在监听到蓝牙状态是进行操作 switch (device.getBondState()){ case BluetoothDevice.BOND_BONDED: //已经配对成功 break; case BluetoothDevice.BOND_BONDING: //正在连接 break; case BluetoothDevice.BOND_NONE: //取消连接 break; default: break; } } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //蓝牙连接设备增加 IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); //蓝牙连接状态发生改变 filter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED); //注册 registerReceiver(receiver, filter); //获取蓝牙适配器 adapter = BluetoothAdapter.getDefaultAdapter(); boolean isenable = adapter.isEnabled(); System.out.println(isenable + "<-=-=-=-isenable"); //获取蓝牙是否可用 Toast.makeText(MainActivity.this, isenable + "<-=-=-=-isenable", Toast.LENGTH_SHORT).show(); if (!adapter.isEnabled()) { //开启蓝牙 adapter.enable(); } else { Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); //设置你自己的设备可以被其他设备搜索的时间;最大3600 intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300); startActivity(intent); } //蓝牙设备的地址 String address = adapter.getAddress(); String name = adapter.getName(); Log.d("蓝牙", "name=" + name + " address=" + address); //获取通过蓝牙已经连接的设备 Set<BluetoothDevice> list = adapter.getBondedDevices(); if (list != null) { for (BluetoothDevice device : list) { //设备名称 String dname = device.getName(); } } //搜索其他设备 new Thread() { @Override public void run() { super.run(); //正在搜索状态 if (adapter.isDiscovering()) { adapter.cancelDiscovery(); } //开始搜索其他设备; adapter.startDiscovery(); } }.start(); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(receiver); }
阅读全文
0 0
- 判断当前手机蓝牙是否开启
- ios判断蓝牙是否开启
- Android 虚拟机判断蓝牙是否开启
- 判断蓝牙设备是否为手机
- 判断Android手机是否开启USB调试
- 如何判断Android手机当前是否联网?
- 如何判断Android手机当前是否联网?
- 判断android手机当前是否接入网络
- 判断android手机当前是否接入网络
- 如何判断Android手机当前是否联网?
- 如何判断Android手机当前是否联网?
- 判断android手机当前是否接入网络
- 如何判断Android手机当前是否联网
- 如何判断Android手机当前是否联网?
- 如何判断Android手机当前是否联网
- 如何判断Android手机当前是否联网
- 如何判断Android手机当前是否联网
- 如何判断Android手机当前是否联网
- POJ
- 显示gridview加载条目动画
- 机器学习实战_06支持向量机
- leetcode
- SpringMVC学习系列(8) 之 国际化
- 判断当前手机蓝牙是否开启
- 遮罩层显示,框的移动拖拽功能
- 控件缩写大全
- Oracle类型定义
- 数组
- [lintcode]-链表 在O(1)时间复杂度删除链表节点
- 初学网络编程 今天的网络编程作业
- HelloWorld
- 全屏功能_iframe内置框内显示全屏