Android:如何通过蓝牙浏览远程设备文件系统?
Posted
技术标签:
【中文标题】Android:如何通过蓝牙浏览远程设备文件系统?【英文标题】:Android: how can i browse remote device file system via bluetooth? 【发布时间】:2011-11-03 21:00:07 【问题描述】:我需要构建一个通过蓝牙从远程设备放置/获取文件的 android 应用;该应用程序还必须浏览远程文件系统。 我读过一些关于 OBEX 的文章,但实际上并没有找到任何适用于 Android 的示例,除了市场上一些出色的应用程序,如蓝牙文件传输。 它如何在应用程序中实现?
【问题讨论】:
en.wikipedia.org/wiki/OBject_EXchange 谢谢,但我正在寻找特定于 Android 的东西 How can OBEX and OPP be implemented in Android?的可能重复 已经找到那个链接了,问题是没有解决办法 如果您制作一个充当网关的应用程序,但是在这种情况下,您可以让用户选择他们想要在他们周围共享的文件,并且其他蓝牙 android 设备必须具有该应用程序才能探索其他设备的共享文件夹。我希望你明白我的意思 【参考方案1】:这对于内置的 Android API 是不可能的。您可以调用一些意图通过蓝牙共享文件 - 但模型之间的兼容性各不相同。但是,如果您想为有根手机编写应用程序,有一些方法。如果是这种情况,请注意。
【讨论】:
我的应用程序应该在非根设备上运行。就像蓝牙文件传输一样,用户可以浏览远程设备文件系统。谢谢【参考方案2】:由于没有向 Android 上的开发人员公开的 OBEX OPP/FTP 的标准方法/实现,您将不得不使用 Bluetooth API,它足够强大,几乎可以实现您想要的任何协议,因为它镜像TCP 套接字。
您必须做的第一件事是访问文件系统。假设 SD 卡,here 是一个指南,否则您将需要 root 访问权限。然后,您希望在两个设备之间建立蓝牙连接(样板代码)。最后,您应该搜索 OBEX OPP/FTP 的协议规范并实施它,这可能会花费最多的时间。
我很确定市场上的其他应用程序就是这样做的,因为它们需要两个设备上的应用程序才能发送/接收文件和浏览文件系统。我无法深入探讨 OBEX 协议本身,因为我不熟悉它,但如果需要,我可以在此之前详细说明所有内容。然而,谷歌搜索出现了this,这在实施时可能很有用。
不确定这是否会有所帮助,但我看到 this 曾为很多人发送文件工作。
【讨论】:
以上是关于Android:如何通过蓝牙浏览远程设备文件系统?的主要内容,如果未能解决你的问题,请参考以下文章