Bluetooth分享图片流程。就用到了Opp这个Profile。
线面简单的阐述一下一个文件分享的流程。向外传输调用的用的是OppService中的客户端相应的方法,接收调用的是服务端相应的方法。
FileManager----->ChooserActivity--->BluetoothShareGatewayActivity--->
BluetoothShareGatewayReceiver(得到mIntent 这个Intent中包含了文件的类型以及URI)
DevicePickerActivity(BluetoothDevicePicker只是个接口,实际上是启动的是DevicePickerActivity)----->DevicePickerFragment(发送广播BluetoothDevicePicker.ACTION_DEVICE_SELECTED,该广播里面包含了所选的远程蓝牙设备BluetoothDevice的对象)-----> BluetoothShareGatewayReceiver(结合BluetoothShareGatewayActivity传进来的mIntent,用OPP Profile进行发送)。
-----> OppClientActivity
:在这个类中用了BluetoothShareTask来构造任务,用OppManager来管理任务。
构造出BluetoothShareTask后通过OppManager将task的相关信息插入数据库。然后启动OppService
------->OppService(这个是开机完成的时候BluetoothReceiver接收到广播就会启动的服务)。
-------->OppTaskWorkerThread(这个新线程将执行OppService传进来的OppcTaskHandler和OppsTaskHandler&