手把手教你实现安卓蓝牙文件传输(含Android 14权限适配与踩坑实录)

手把手教你实现安卓蓝牙文件传输(含Android 14权限适配与踩坑实录)

前言

最近在学习《移动软件开发》课程时,我接到了一个任务:开发一个安卓App,实现两台手机通过蓝牙互传图片。听起来很简单?我一开始也这么认为。然而,随着安卓系统的飞速迭代,曾经简单的几行代码,如今需要面对权限申请、后台限制、分区存储、版本适配等一系列“现代化”的挑战。

这篇博客,既是我的学习成果总结,也是一份详尽的“踩坑避坑”指南。希望能帮助正在或将要探索安卓蓝牙开发的你,少走一些弯路。

一、 最终成果展示

发送方:选择图片后,连接设备,显示发送成功。接收方:接收成功后,提示文件保存路径,并在系统相册中可见。

二、 核心原理与项目搭建

1. 蓝牙通信原理

安卓蓝牙通信是典型的 客户端-服务器 (C/S) 模型:

服务端(Server): 创建一个 BluetoothServerSocket,在一个唯一的 UUID 上进行监听 (listen),然后调用 accept() 进入阻塞状态,等待客户端连接。客户端(Client): 通过服务端的MAC地址和同一个 UUID 创建 BluetoothSocket,然后调用 connect() 发起连接。数据交换: 连接成功后,双方通过 InputStream 和 OutputStream 进行数据的读写,完成文件传输。

2. 项目基础搭建

UI布局 (activity_main.xml): 界面很简单,包含几个核心功能的按钮和一个用于显示状态的 TextView。

相关推荐

冲浪起源
BT365软件提现不了

冲浪起源

🗓️ 07-16 👁️ 8764
如何关联或变更公积金用卡?具体操作来了!一分钟学会!
滴滴预付车费怎么回事?滴滴预付车费怎么退
365赢多少钱会被限额

滴滴预付车费怎么回事?滴滴预付车费怎么退

🗓️ 07-25 👁️ 9747
在中国怎么买韩国网购商品 2025韩国网购平台有哪些
BT365软件提现不了

在中国怎么买韩国网购商品 2025韩国网购平台有哪些

🗓️ 08-08 👁️ 5411
征途怀旧版什么时候开新区,征途怀旧版多久开一次新区
世界杯竞猜,塞尔维亚对瑞士,附比分推荐
365bet电子游戏

世界杯竞猜,塞尔维亚对瑞士,附比分推荐

🗓️ 07-31 👁️ 6068