2017-03-14 59 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/*」)的標準。