首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓意图使用图库应用程序显示带有文件ContentProvider的图像

安卓意图使用图库应用程序显示带有文件ContentProvider的图像
EN

Stack Overflow用户
提问于 2012-09-29 19:38:19
回答 1查看 1.3K关注 0票数 1

我实现了一个文件ContentProvider,通过http访问wifi网络上的文件服务器。

我尝试做的是启动Android Gallery应用程序,并使用特定的意图和uri来显示位于我的文件服务器上的特定目录中的图像文件。

如果我使用单个uri启动Gallery应用程序,通过以下代码显示一个图像,我就可以成功:

代码语言:javascript
复制
Intent lance = new Intent();
lance.setAction(Intent.ACTION_VIEW);
String typedata = "image/*";
lance.setType(typedata);
String phuri = "content://" + URI_AUTORITE
                     + "/" + URI_CONTENU_FICHIERS
                     + directory + filename;
Uri uri = Uri.parse(phuri);
lance.setDataAndType(uri, "image/*");
startActivity(lance);

但我正在尝试更进一步,实现包含图像的目录的显示。我尝试通过下面的代码使用ClipData对象来显示几个图像:

代码语言:javascript
复制
Intent lance = new Intent();
lance.setAction(Intent.ACTION_VIEW);
String typedata = "image/*";
lance.setType(typedata);
String phuri = "content://" + URI_AUTORITE
                     + "/" + URI_CONTENU_FICHIERS
                     + directory + filename;
Uri uri = Uri.parse(phuri);
ClipData ensemble = ClipData.newRawUri("Photos", uri);
lance.setClipData(ensemble);
startActivity(lance);

它不起作用:画廊应用程序启动,并显示专辑列表,但不调用我的文件ContentProvider。

是我错过了什么,还是Gallery应用程序开发人员遇到了问题?

EN

回答 1

Stack Overflow用户

发布于 2012-11-21 23:01:19

您应该重写内容提供者的getType()方法来返回mime类型的图像,如下所示

代码语言:javascript
复制
@Override
public String getType(Uri uri) {
    return "image/*";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12652376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档