android通过蓝牙接收文件打开时无法自动选择合适的应用程序

所属分类: 软件编程 / Android 阅读数: 1991
收藏 0 赞 0 分享
通过蓝牙接收文件,从历史传输记录打开,无法自动选择合适的应用程序
但是从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 动画之AlphaAnimation应用详解

本节讲解AlphaAnimation 动画,窗口的动画效果,淡入淡出什么的,有些游戏的欢迎动画,logo的淡入淡出效果就使用AlphaAnimation,具体的祥看本文,需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之TranslateAnimation应用详解

本节讲解TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现,本文将详细介绍通过TranslateAnimation 来定义动画,需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之ScaleAnimation应用详解

本节讲解ScaleAnimation 动画在应用中的实现,有需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之RotateAnimation应用详解

本节讲解旋转动画效果RotateAnimation方法的应用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之文件操作模式深入理解

本文将介绍Android开发之文件操作模式,需要了解的朋友可以参考下
收藏 0 赞 0 分享

Android应用程序窗口(Activity)窗口对象(Window)创建指南

本文将详细介绍Android应用程序窗口(Activity)的窗口对象(Window)的创建过程,需要了解的朋友可以参考下
收藏 0 赞 0 分享

android activity设置无标题实现全屏

本文将详细介绍Android如何设置Activity全屏和无标题的实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android启动模拟器报错解决方法

本文将详细介绍Android模拟器报"Failed To Allocate memory 8"错误的解决办法,需要了解的朋友可以参考下
收藏 0 赞 0 分享

Android如何实现非本地图片的点击态

Android如何实现非本地图片的点击态,本文提供了详细的实现代码,需要了解的朋友可以参考下
收藏 0 赞 0 分享

android viewpaper实例探讨

本文将提供一个android viewpaper实例实现过程,需要了解更多的朋友可以参考下
收藏 0 赞 0 分享
查看更多