如何添加自定义MIME类型的Android? [英] How to add custom mime type in Android?
问题描述
我对上传文件的特殊服务。当上传完成后,我从我的服务,它含有特殊的序列化对象发送广播。对象可以是许多类的实例。
对于认识对象类,我使用自定义的意图类型。
它的外观:
//发送广播
意向意图=新意图(UploaderService.ACTION_UPLOAD_SUCCESSFULLY);
intent.setType(UploaderService.TYPE_DOC);
intent.putExtra(UploaderService.FIELD_RESULT,对象);
context.sendBroadcast(意向);//注册接收器
IntentFilter的过滤器=新的IntentFilter(UploaderService.ACTION_UPLOAD_SUCCESSFULLY);
filter.addDataType(UploaderService.TYPE_DOC);
registerReceiver(接收器,过滤器);
在登记接收我赶上 IntentFilter.MalformedMimeTypeException
。 TYPE_DOC
恒的样子vnd.com.my.package.doc
。
所以,我认为,我的MIME类型必须在系统中注册。我如何code之内呢?
所以,我认为,我的MIME类型必须在系统中注册。
块引用>没有,你需要使用一个有效的MIME类型建设。
vnd.com.my.package.doc
是一个畸形MIME类型。使用应用程序/ vnd.com.my.package.doc
为于供应商prefixed MIME类型。请注意,使用的广播MIME类型是相当不寻常的行为。
I have special service for upload files. When upload is finished, I send broadcast from my service, which contains special serialized object. Object may be instance of many classes. For recognize the object class, I use custom intent type.
How it looks:
// Sending broadcast Intent intent = new Intent(UploaderService.ACTION_UPLOAD_SUCCESSFULLY); intent.setType(UploaderService.TYPE_DOC); intent.putExtra(UploaderService.FIELD_RESULT, object); context.sendBroadcast(intent); // Registering receiver IntentFilter filter = new IntentFilter(UploaderService.ACTION_UPLOAD_SUCCESSFULLY); filter.addDataType(UploaderService.TYPE_DOC); registerReceiver(receiver, filter);
During the registering receiver I catch
IntentFilter.MalformedMimeTypeException
.TYPE_DOC
constant looks like"vnd.com.my.package.doc"
.So, I suppose, my mime type must be registered in system. How I can do it within code?
解决方案So, I suppose, my mime type must be registered in system.
No, you need to use a valid MIME type construction.
vnd.com.my.package.doc
is a malformed MIME type. Useapplication/vnd.com.my.package.doc
for a vendor-prefixed MIME type.Note that using MIME types on broadcasts is rather unusual behavior.
这篇关于如何添加自定义MIME类型的Android?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!