【发布时间】:2011-07-18 02:58:40
【问题描述】:
看看内容提供者,我对 getType() 方法的典型用法不是很清楚。 API 文档说关于实现这个方法,
这允许 [应用程序] 检索 MIME 分派时的 URI 类型 意图。
谁能描述一个使用它特别有用的典型案例?
【问题讨论】:
标签: android mime-types
看看内容提供者,我对 getType() 方法的典型用法不是很清楚。 API 文档说关于实现这个方法,
这允许 [应用程序] 检索 MIME 分派时的 URI 类型 意图。
谁能描述一个使用它特别有用的典型案例?
【问题讨论】:
标签: android mime-types
例如,您正在为图片库编写内容提供程序。您应该在 getType() 方法中提及您提供图片 - jpg 或 png。因此,当您启动图片库时,它将能够显示您的内容提供商提供的内置图片和图片。
在伪代码中,contentProvider 的用户执行如下操作:
List contentProviders = getProviders();
List resultProviders;
final Type type = Type.JPG;
for (ContentProvider provider : contentProviders) {
if (type == provider.getType()) {
resultProviders.add(provider);
}
}
这是伪代码,但我希望你能明白。
【讨论】:
getType,您需要自己传递一个uri,这不是您拥有的东西。
据我了解,用例可能如下:
应用 A 包含内容提供者。应用程序 B 使用该内容提供程序从应用程序 A 检索所有数据项。然后用户选择其中一个(在应用程序 B 中),然后应启动应用程序 A 中的活动以显示/编辑/删除所选数据项。所以 App B 然后创建一个意图,并确保 App A 中的活动处理它,您需要将意图的 (mime-)type 设置为 uri 的 mime-type (显示/编辑/删除活动在 App A 中已将此 mime 类型添加到其意图过滤器中)。
【讨论】: