2013-12-22 66 views
1

我的應用程序是一個簡單的圖庫應用程序,任何用戶都可以製作圖像並將其保存到SdCard。 我有一個活動,其中用戶創建的所有圖像都將顯示在GridView中。允許其他應用程序從我的應用程序中選擇圖片,如圖庫

現在我想要的是我的應用程序顯示在圖像選擇器列表中,其中顯示圖庫和其他應用程序。

我已經實現被顯示在列表我的應用程序意圖過濾,

但我應該寫什麼代碼,使用戶可以從我的 gridview的

挑一個圖像... .. enter image description here

<intent-filter> 
      <action android:name="android.intent.action.PICK" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="image/*" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.GET_CONTENT" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.OPENABLE" /> 

      <data android:mimeType="image/*" /> 
     </intent-filter> 

回答

1

但我要寫詩什麼碼e,以便用戶可以從我的網格視圖中挑選一個圖像

您會編寫一個Activity,其中包含GridView。當用戶做出選擇時,您可以撥打電話setResult()提供帶有返回值的Uri,其中包含用於觸發您的活動的Intent操作記錄的信息。然後,您可以撥打finish(),關閉您的活動並將控制權返回給您發起的任何活動。

的文檔ACTION_GET_CONTENT具有:

輸出:該被選中的項目的URI。這必須是一個content:URI,以便任何接收者都可以訪問它。

Uri進去,你傳遞給setResult()Intent

的文檔ACTION_PICK具有:

輸出:該被選中的項目的URI。

因此,您可以使用相同的代碼用於填充IntentsetResult()兩個ACTION_GET_CONTENTACTION_PICK

+0

但是怎麼寫呢? Intent intent = new Intent(); intent.setResult? 如何? –

+0

@ Dr.aNdRO:'setResult()'是'Activity'上的一個方法。 'finish()'是'Activity'上的一個方法。 http://developer.android.com/reference/android/app/Activity.html和http://developer.android.com/training/basics/intents也介紹了這一點。 – CommonsWare

0

其實我想是這樣的:

Intent result = new Intent("com.example.RESULT_ACTION", Uri.parse("content://result_uri"); 
setResult(Activity.RESULT_OK, result); 
finish(); 

通過使用這樣的setResult我們可以發送數據。

相關問題