android 通过蓝牙接收文件,从历史传输记录打开,无法自动选择合适的应用程序
2013-06-17 09:31
766 查看
通过蓝牙接收文件,从历史传输记录打开,无法自动选择合适的应用程序
但是从file manager打开这个新接收的文件,是可以选择对应的应用程序(比如video player打开.3gp、.mp4文件)
历史传输记录打开download的文件,是通过接收文件时对方传过来的mime type来选择适合的APP打开该文件
如果出现提示“未支持格式的文件”,或者使用了错误的APP来打开该文件
原因在于发送方发送文件时填的mime type存在问题
如下的log是mtk接收方的log,请注意***字体的tag
Bluetooth.OPP(299): opps newTask: [total=801728][result=null][_id=1][peer_addr=00:23:AF:D5:F6:8B][done=0][name=Eternal Blue.mp3][data=/mnt/sdcard/Received File/Eternal Blue.mp3][state=0][mime=audio/mpeg][type=11][uri=null][peer_name=XT502]
mime type是对文件类型的一个描述,有其相关的标准来关联不同类型文件
mime type有误需要先排查发送方问题
1. 发送方为非mtk手机,需确认发送给不同平台的对比手机,是否都能正常打开该文件
2. 发送方为mtk手机,通过第三方安装APK(如第三方gallery发图片)发送文件,需先排查第三方安装APK的问题,传出来的intent所带的mime type有误
3. 发送方为mtk手机,通过自带APK发文件,请提交eservice由mtk处理
需要明确一点,某些对比的接收方没有此问题,是因为某些厂商做法是接收完文件后,会重新检测该文件并生成新的mimetype
如果只有某些特定文件才有问题,可参考此方法从mtk接收方做mimetype转换作为规避方法
\xintong\packages\apps\Bluetooth\profiles\opp\src\com\mediatek\bluetooth\opp\adp\OppManager.java
oppsStartPushActivity {
...
//add begin
//根据无法识别的mime type来转换
if( mimeType.equals("无法识别的mimetype");
this.mOppsTask.setMimeType("正确的mimetype");
/*
根据后缀名来转换对应的mimetype
String extname = objectName.substring(objname.lastIndexOf("."));
if(extname.equals(".xxx"))
this.mOppsTask.setMimeType("正确的mimetype");
*/
else
//add end
this.mOppsTask.setMimeType(mimeType);
但是从file manager打开这个新接收的文件,是可以选择对应的应用程序(比如video player打开.3gp、.mp4文件)
历史传输记录打开download的文件,是通过接收文件时对方传过来的mime type来选择适合的APP打开该文件
如果出现提示“未支持格式的文件”,或者使用了错误的APP来打开该文件
原因在于发送方发送文件时填的mime type存在问题
如下的log是mtk接收方的log,请注意***字体的tag
Bluetooth.OPP(299): opps newTask: [total=801728][result=null][_id=1][peer_addr=00:23:AF:D5:F6:8B][done=0][name=Eternal Blue.mp3][data=/mnt/sdcard/Received File/Eternal Blue.mp3][state=0][mime=audio/mpeg][type=11][uri=null][peer_name=XT502]
mime type是对文件类型的一个描述,有其相关的标准来关联不同类型文件
mime type有误需要先排查发送方问题
1. 发送方为非mtk手机,需确认发送给不同平台的对比手机,是否都能正常打开该文件
2. 发送方为mtk手机,通过第三方安装APK(如第三方gallery发图片)发送文件,需先排查第三方安装APK的问题,传出来的intent所带的mime type有误
3. 发送方为mtk手机,通过自带APK发文件,请提交eservice由mtk处理
需要明确一点,某些对比的接收方没有此问题,是因为某些厂商做法是接收完文件后,会重新检测该文件并生成新的mimetype
如果只有某些特定文件才有问题,可参考此方法从mtk接收方做mimetype转换作为规避方法
\xintong\packages\apps\Bluetooth\profiles\opp\src\com\mediatek\bluetooth\opp\adp\OppManager.java
oppsStartPushActivity {
...
//add begin
//根据无法识别的mime type来转换
if( mimeType.equals("无法识别的mimetype");
this.mOppsTask.setMimeType("正确的mimetype");
/*
根据后缀名来转换对应的mimetype
String extname = objectName.substring(objname.lastIndexOf("."));
if(extname.equals(".xxx"))
this.mOppsTask.setMimeType("正确的mimetype");
*/
else
//add end
this.mOppsTask.setMimeType(mimeType);
相关文章推荐
- android通过蓝牙接收文件打开时无法自动选择合适的应用程序
- [FAQ12964][OPP]无法通过蓝牙分享及接收apk应用文件
- 用VS2008打开2010的项目提示“ 选择的方案是解决方案文件,但是用此应用程序的较新版本创建的,无法打开。“
- android手机怎样通过蓝牙传输文件
- Android 怎样通过蓝牙传输文件
- 右键TXT文件-打开方式-选择默认程序提示 windows无法访问指定设备,路经或文件.您可能没有合适的权限访问这个项目
- Spring XML配置文件无法自动提示 eclipse中XML配置文件open with打开方式选择 XML Editor:注意它的编辑方式也是有两种的design和source
- C#winform 选择的文件是解决方案文件,但是用此应用程序的较新版本创建的,无法打开(低版本的VS无法打开高版本项目)
- IE访问HTTPS链接下载文件,IE提示无法下载 博客分类: J2EE 原因: (1) 在IE6/7下,使用HTTPS下载/打开文件时,通过抓包发现文件已传输,但IE提示“Internet E
- android打开各种文件代码,根据文件名自动选择打开程序
- 选择的文件是解决方案文件 但是用此应用程序的较新版本创建的,无法打开
- vs2010打不开vs2013的.sln文件,选择的文件是解决方案文件 但是用此应用程序的较新版本创建的,无法打开
- 打开sln文件时提示“选择的文件时解决方案文件,但是用此应用程序的较新版本创建的,无法打开”
- android Intent 通过Uri打开文件,当文件地址出现特殊字符(#,“ ”,“[]”等)文件无法正常打开
- android 根据文件的扩展名选择用什么应用程序打开
- android开发中文件下载并自动安装或选择打开
- vs2010打不开vs2017的.sln文件,出现错误提示 “选择的文件是解决方案文件 但是用此应用程序的较新版本创建的,无法打开”
- TS流如何经过RTP封装及其vlc通过打开sdp文件的方式接收
- 新手,Visual Studio 2015 配置Boost库,如何编译和选择,遇到无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib“的解决办法
- Android 自动识别TextView或者EditView里的url并在自己的应用程序里打开