1,概述
1.1 PAN协议
Dun协议: Dial_Up Networking Profile 拨号上网协议
PAN协议:Personal Area Networking Profile 个人局域网协议
使用场景:手机和手机,手机和笔记本等设备通过连接蓝牙上网。
市场产品:手机,笔记本
1.2 代码路径
客户端: frameworks\base\core\java\android\bluetooth
BluetoothDun.java Dun协议客户端
BluetoothPan.java Pan协议客户端
服务端: packages\apps\Bluetooth\src\com\android\bluetooth\ pan
PanService.java Pan协议的服务端
BluetoothTetheringNetworkFactory.java 蓝牙网络连接
奇怪的是BluetoothDun.java并没有对应的服务端,在源代码上面的确是找不到。
对于NetworkFactory我完全不懂,而且一般的智能手机上面也已经实现了该功能,可以将一台手机A连接wifi,另一台手机B通过蓝牙和A相连,在设置里打开蓝牙网络共享,B也可以利用Pan协议上网了。这个实现很简单, NetworkFactory我不懂我就不多论述了,仅论述一下BluetoothPan.java的接口以及如何利用其上网。
2,接口
接口如下