如何添加自定义MIME类型的Andr​​oid? [英] How to add custom mime type in Android?

查看:118
本文介绍了如何添加自定义MIME类型的Andr​​oid?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对上传文件的特殊服务。当上传完成后,我从我的服务,它含有特殊的序列化对象发送广播。对象可以是许多类的实例。
对于认识对象类,我使用自定义的意图类型。

它的外观:

  //发送广播
意向意图=新意图(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. Use application/vnd.com.my.package.doc for a vendor-prefixed MIME type.

Note that using MIME types on broadcasts is rather unusual behavior.

这篇关于如何添加自定义MIME类型的Andr​​oid?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆