android 蓝牙无法连接,无法通过蓝牙连接
按照视频中的代码,运行程序,发现无法连接其他Android设备或者电脑设备
代码如下:package com.example.yoummiegao.bluetoothsocket;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothServerSocket;
import android.bluetooth.BluetoothSocket;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.UUID;
//import java.util.logging.Handler;
import java.util.logging.LogRecord;
public class MainActivity extends Activity implements AdapterView.OnItemClickListener{
private ListView lvDevices;
private BluetoothAdapter bluetoothAdapter;
private List bluetoothDevices = new ArrayList();
private ArrayAdapter arrayAdapter;
//private final UUID MY_UUID = UUID.fromString("fe09b933-ba57-42b7-a50f-cca4c7cda13e");
private final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
private final String NAME = "Bluetooth_Socket";
private BluetoothSocket clientSocket;
private BluetoothDevice device;
private AcceptThread acceptThread;
private OutputStream os;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
lvDevices = (ListView) findViewById(R.id.lvDevices);
Set piredDevices = bluetoothAdapter.getBondedDevices();
if(piredDevices.size()>0)
{
for(BluetoothDevice device:piredDevices)
{
bluetoothDevices.add(device.getName()+":"+device.getAddress()+"n");
}
}
arrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,android.R.id.text1,bluetoothDevices);
lvDevices.setAdapter(arrayAdapter);
lvDevices.setOnItemClickListener(this);
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
this.registerReceiver(receiver, filter);
filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
this.registerReceiver(receiver, filter);
acceptThread = new AcceptThread();
acceptThread.start();
}
public void onClick_Search(View view) {
setProgressBarIndeterminateVisibility(true);
setTitle("正在扫描...");
if (bluetoothAdapter.isDiscovering()) {
bluetoothAdapter.cancelDiscovery();
}
bluetoothAdapter.startDiscovery();
}
private final BroadcastReceiver receiver = 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);
if (device.getBondState() != BluetoothDevice.BOND_BONDED) {
bluetoothDevices.add(device.getName() + ":"
+ device.getAddress() + "n");
arrayAdapter.notifyDataSetChanged();
}
} else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED
.equals(action)) {
setProgressBarIndeterminateVisibility(false);
setTitle("连接蓝牙设备");
}
}
};
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
String s = arrayAdapter.getItem(position);
String address = s.substring(s.indexOf(":")+1).trim();
try
{
if(bluetoothAdapter.isDiscovering())
{
bluetoothAdapter.cancelDiscovery();
}
try
{
if(device == null)
{
device = bluetoothAdapter.getRemoteDevice(address);
}
if(clientSocket == null)
{
clientSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
clientSocket.connect();
os = clientSocket.getOutputStream();
}
android 蓝牙无法连接,无法通过蓝牙连接相关推荐
- android 蓝牙串口自动断开,uni-app 蓝牙连接被自动断开问题
遍历 快速对两个蓝牙设备(deviceId,mac地址不同)进行连接操作,时间隔为1秒,蓝牙刚进行连接,监听蓝牙连接状态,直接监听到被自动断开,而且断开两次,有知道怎么回事的不?ios ,androi ...
- android蓝牙开启后会尝试自动连接,Android 自动连接蓝牙
蓝牙是手机和智能硬件通信常用的方式,蓝牙通信可分为传统蓝牙和低功耗蓝牙(BLE).其中BLE的连接断开等操作可以通过Android SDK中提供的API进行操作,而传统蓝牙部分SDK并没有提供相关的A ...
- android 连接蓝牙电子秤_Android实现串口通讯—连接有线电子秤
前言 在之前的有讲过Andrpid中USB通讯的文章,大家感兴趣的话,可以参看以下文章: Android实现USB连接 今天就来讲讲Android利用串口实现有线电子秤的连接. 今天涉及以下内容: 电 ...
- Android蓝牙开发教程(二)——连接蓝牙设备
在上一篇中已经介绍如何搜索附近可连接的蓝牙设备,如果你还没阅读过,建议先看看上一篇文章Android蓝牙开发教程(一)--搜索蓝牙设备 获取到设备后就可以开始处理蓝牙设备之间的连接. 在上一篇教程中我 ...
- android蓝牙开发 蓝牙设备的查找和连接
Android对于蓝牙开发从2.0版本的sdk才开始支持,而且模拟器不支持,测试至少需要两部手机,所以制约了很多技术人员的开发. 1. 首先,要操作蓝牙,先要在AndroidManifest.xml ...
- Android开发-连接开发板蓝牙模块发送和接收数据
帮同学写一个连接小车蓝牙模块遥控小车的APP,在网上搜阅了很多资料,大概了解了蓝牙的工作原理,再经历了种种BUG后终于是成功连上了小车蓝牙,并可以发送数据,小车可以接收到,测试的蓝牙是Arduino小 ...
- android 获取蓝牙信号强度,连接后获取蓝牙RSSI信号强度
android 获取蓝牙信号强度,连接后获取蓝牙RSSI信号强度 基于蓝牙的RSSI可以有很多应用,要获得蓝牙的RSSI无外乎两种方法. 第一种:基于扫瞄的方法 优点是Android本身支持,缺点是s ...
- Android蓝牙开发【六】hfp连接
本文主要内容是蓝牙手机音频的连接.断开流程分析,对应蓝牙HFP profile. 该文章是基于Android源码4.3的 1 hfp简单介绍 HFP (Hands-free Profile),让蓝牙设 ...
- Android 检查版本更新服务并下载,BLE蓝牙连接,BLE蓝牙连接1对多及通用工具
https://github.com/inksnow/InksLibrary 引用方法: 1. aar 应用 apply plugin: 'com.android.application' andro ...
- android连接和断开蓝牙音箱的问题
1.首先设置获取各种代理 defaultAdapter = BluetoothAdapter.getDefaultAdapter();//获取A2DP代理对象defaultAdapter.getPro ...
最新文章
- 爬虫究竟是合法还是违法的?
- linux 查看是否安装perl模块
- 旷视Face++回清华求教AI本质创新,姚期智授2锦囊,出任首席顾问
- 如何在Windows CMD的一行中运行两个命令?
- 建站百科|如何做好网站Banner设计
- 单调队列java_单调队列单调栈
- java 浏览器设置字体大小_Sass可以在不使用REM的情况下访问浏览器的默认字体大小吗?...
- 蓝桥杯 大臣的旅费 JAVA
- 教你十分钟在Linux系统上快速装机并安装Ansible
- Matplotlib输出中文显示问题
- WEB客户端编程与服务器端编程
- h5物体拖动_【点我解锁】11种网易爆款H5交互手势及案例
- 【JVM】三色标记法
- 【数据结构】栈与队列:后进先出与先进先出到底是啥?
- Android 自动化触发GC
- SQLserver 索引碎片
- linux怎能查硬盘通电时间,查看LINUX服务器型号磁盘加电时长
- 里怎么带引号_日本小学里的午餐,都是怎么搭配的呢,带您了解一下
- linux基本命令之计划任务
- UML状态图的实用C/C++设计(QP状态机)-笔记一