【发布时间】:2013-08-10 07:09:19
【问题描述】:
我有上传文件的特殊服务。上传完成后,我从我的服务发送一个广播 - 其中包含一个特殊的序列化对象。这个对象可能是许多类的一个实例。 为了识别这个对象类,我使用了自定义意图类型。
外观:
// 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);
在注册接收器期间,我捕获了IntentFilter.MalformedMimeTypeException。
TYPE_DOC 常量看起来像 "vnd.com.my.package.doc"。
所以,我想,我的 mime 类型必须在系统中注册。我如何在代码中做到这一点?
【问题讨论】:
-
"vnd.com.my.package.doc" 是一个 ContentProvider。你注册了 ContentProvider 吗?
标签: android android-intent mime-types