Android 蓝牙使用 OBEX 发送私有/内部文件

Posted

技术标签:

【中文标题】Android 蓝牙使用 OBEX 发送私有/内部文件【英文标题】:Android Bluetooth Send Private/Internal File using OBEX 【发布时间】:2012-04-19 21:51:49 【问题描述】:

是否可以通过蓝牙从 android 应用程序私有目录发送文件? (目录 /data/data//.. (getFilesDir())) 我无法在任何地方找到并回答这个问题。

这种 Intent.ACTION_SEND 方法适用于外部文件:Sending a File using Bluetooth OBEX Object Push Profile (OPP)

但是,当我尝试发送私人文件时,我得到“未发送未知文件” 当 BtOpp 抛出 FileNotFoundException 时,WCat 显示“BtOpp 服务“无法为 OUTBOUND 信息 57 打开文件”

谢谢

【问题讨论】:

没有。您可以将文件从内部存储复制到外部存储,然后尝试发送。 【参考方案1】:
String path = con.getFilesDir().getAbsolutePath() + File.separator  + TEMP_FILE_NAME; //i will get file from your /data/data/...
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("plain/text");// 
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/" + path));
startActivity(Intent.createChooser(i, "Send File"));

如果工作,请点击接受.... 谢谢

【讨论】:

DeepSan,请停止要求人们接受你的答案。这只是噪音,给人的印象是过于需要。如果他们愿意,他们会接受的。

以上是关于Android 蓝牙使用 OBEX 发送私有/内部文件的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式在android上使用蓝牙发送文件?

使用蓝牙FTP从已知设备获取文件

OBEX OPP 特定转账

在Android 2.3上实现OBEX PUSH服务器

蓝牙的OBEX协议

OBEX 协议是啥样的?