我要求用户打开蓝牙并在120秒内被发现。在120秒内,我将收到来自不同设备的文件传输。我想从该文件中获取文本。是接受文件并将其下载到蓝牙文件夹的最佳方式,还是可以在应用程序中捕获它?
无论哪种方式,我如何抛出一条警告消息说等待文件,并在收到文件时删除警报。 我没有STATE_CONNECTING引用这个,因为在这个过程中状态永远不会改变。
目前我有一个while循环,超时等待文件不存在......很可怕我知道。
答案 0 :(得分:0)
您使用的是BluetoothChat示例吗?
STATE_CONNECTING指的是您找到设备并尝试连接的时刻。
要下载文件,您必须打开BluetoothSocket
并在BluetoothChat示例中,当套接字打开时,您将处于STATE_CONNECTED状态。
您可以在读取InputStream之前在ConnectedThread的最开头显示警报消息,并在接收文件时在InputStream循环中取消它。如果永远不发送文件,您也可以实现超时。
我不太了解您的需求,但是,您也可以简单地使用蓝牙发送字符串,并将其保存在File
的第二台设备上。实施起来会更容易。
希望有所帮助