在查看内容提供者时,我对于getType()方法的典型用法不太清楚。API文档中关于实现此方法的说明是:
这使得[应用程序]在分派意图时检索URI的MIME类型成为可能。
有人能描述一个使用它会特别有用的典型案例吗?
在查看内容提供者时,我对于getType()方法的典型用法不太清楚。API文档中关于实现此方法的说明是:
这使得[应用程序]在分派意图时检索URI的MIME类型成为可能。
有人能描述一个使用它会特别有用的典型案例吗?
List contentProviders = getProviders();
List resultProviders;
final Type type = Type.JPG;
for (ContentProvider provider : contentProviders) {
if (type == provider.getType()) {
resultProviders.add(provider);
}
}
这是伪代码,但我希望你能理解。
据我理解,一个使用案例可能如下:
应用程序A包含内容提供程序。应用程序B使用该内容提供程序从应用程序A检索所有数据项。然后用户在应用程序B中选择其中之一,并且之后应启动应用程序A中的活动以显示/编辑/删除所选数据项。因此,应用程序B创建一个意图,并为了确保应用程序A中的活动处理它,您需要将意图的(mime-)类型设置为uri的mime类型(应用程序A中的显示/编辑/删除活动已将此mime类型添加到其意图过滤器中)。
getType
,你需要自己传递一个 uri,而这并不是你所拥有的东西。 - Peppe L-G