
最近,我正在追踪Android框架中的蓝牙 *** 作机制.我注意到在通过OPP接收文件时,this patch会产生一些文件类型限制.
在com.androID.bluetooth.opp包中,Constants.java中有一个固定的白名单
/** * The MIME type(s) of we Could accept from other device. * This is in essence a "white List" of acceptable types. * Today,restricted to images,audio,vIDeo and certain text types. */public static final String[] ACCEPtable_SHARE_INBOUND_TYPES = new String[] { /* ... some types such as images and music ... */};@H_502_7@ 这限制了BluetoothOppObexServerSession.java中可接受的文件类型
// Reject policy: anything outsIDe the "white List" plus unspecifIEd // MIME Types. if (!pre_reject && (mimeType == null || (!Constants.mimeTypeMatches(mimeType,Constants.ACCEPtable_SHARE_INBOUND_TYPES)))) { if (D) Log.w(TAG,"mimeType is null or in unacceptable List,reject the transfer"); pre_reject = true; obexResponse = ResponseCodes.OBEX_http_UNSUPPORTED_TYPE;@H_502_7@ 是什么让我们关注这种情况下的MIME类型?据我所知,我们可能希望阻止可执行文件(即* .apk,* .so),因为这些文件可能会损害我们的设备.如果阻止某些特定类型是我们在此设置列表的原因,为什么我们会在此补丁之前使用白名单而不是黑名单?当我们通过其他非蓝牙协议(如http)传输文件时是否存在类似的限制?
解决方法 我把你的问题投了票,并在同一时间将其标记为非建设性的.这个问题很好,但是在错误的地方被问到:你需要在androID BUG跟踪器中提交你的投诉作为错误/建议. 为了回答你的问题 – 这是一种不让用户通过限制他对q支和自己的脚进行射击来自我射击的倾向.也许自定义ROM不受此限制.
总结 以上是内存溢出为你收集整理的为什么Android通过蓝牙OPP接收时严格限制可接受的文件类型?全部内容,希望文章能够帮你解决为什么Android通过蓝牙OPP接收时严格限制可接受的文件类型?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)