2017-03-14 56 views
0

我正在寻找一种方法将我自己的应用程序的图像添加到Android画廊。如何添加自定义提供程序到Android画廊

该应用链接到服务器,并将(按需)从服务器上下载图像。简单地从服务器下载所有图像是不合适的,因为手机可能存在太多的空间。

感觉这应该是可能的,因为现有的从Facebook等应用程序中获取图像的能力(见截图)。

Gallery screen shot showing "Content to Display"

寻找在谷歌之后,我尝试创建一个存根ContentProvider简单地记录任何请求,并发现,当用户打开图库应用程序的我的提供商从未接触过。

因此,要么:

  1. 我错过了一步
  2. 这是不可能做什么,我想
  3. 这是可能的,但我需要做完全不同的事情,使之发生

FYI我的清单包含:

<provider 
     android:authorities="couling.mycustomgallery" 
     android:name=".CustomContentProvider" 
     android:exported="true" 

有何建议?

+0

有〜20亿Android设备。它们遍布数百家制造商的数千种设备模型。没有单独的“android图库”。这些设备上预装了数十个(如果不是数百个)图库应用程序,还有更多来自Play商店和其他地方的应用程序。没有必要提供与Dropbox,Facebook或Picasa的整合。你恰好有一个确实提供这种整合的画廊。该集成是否可以扩展到任意应用程序取决于图库应用程序开发人员。因此,请联系他们并询问如何在他们的应用中获取您的东西。 – CommonsWare

+0

@CommonsWare从未见过没有预先安装的Android手机/平板电脑我觉得可能有一个共同的界面,允许画廊应用程序以类似的方式查看所有内容(通过“ContentProvider”?)来自不同的第三方应用程序将合并并显示在联系人的应用程序中。你是说没有这样的接口存在? –

+0

我在说画廊应用程序不必使用这样的界面(如果存在的话)。仅仅一个ContentProvider就足够了,就像拥有一个没有任何链接的网站不会导致该网站被搜索引擎索引一样。有些东西必须告诉搜索引擎该网站存在;同样,有些东西需要告诉画廊您的提供者是否存在。我不知道有任何标准的机制,虽然我没有去寻找一个。 – CommonsWare

回答

0

简答:我认为这是不可能的。

龙答:

的Android照片库应用程序我已经看到使用至今MediaStore.Images.Media.EXTERNAL_CONTENT_URI="content://media/external/images/media" 为内容的URI API对查询。

可能是Dropbox,Facebook或Picasa找到了一种方法,将其外部图像包含在那里(并在content://media/external/images/thumbnails中)。 但我认为他们有自己的内容 - uri-api。

您可以使用https://f-droid.org/repository/browse/?fdid=de.k3b.android.contentproviderhelper分析不同的内容提供者,并查看您是否在content://media/external/images/media或其他某个uri下看到Dropbox,Facebook或Picasa数据。

由于android-4.4有一个通过你可以实现的android.intent.action.GET_CONTENT选取文件(即mimetype“image/*”)的标准。