2012-08-16 95 views
2

在我的項目中,我想讓用戶從圖庫中選取圖片或從相機中選取新圖片。我是否需要爲用戶創建自己的菜單進行選擇還是在SDK中內置了一些已經完成的菜單?Android SDK:讓用戶從畫廊或相機中選擇圖片?

+1

我99.99%肯定你需要爲此編寫自己的菜單。 – 2012-08-16 16:18:08

+0

所以你說的是你不確定?哈。謝謝,我希望它是內置的,所以它應該在所有應用程序中都是一樣的。 – taormania 2012-08-17 20:23:32

回答

2

使用下面的代碼將選擇器和畫廊放在一起。我真的不知道這是否會與startActivityForResult一起工作。試一試

Intent galleryintent = new Intent(Intent.ACTION_GET_CONTENT, null); 
    galleryintent.setType("image/*");   

    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

    Intent chooser = new Intent(Intent.ACTION_CHOOSER); 
    chooser.putExtra(Intent.EXTRA_INTENT, galleryintent);  
    chooser.putExtra(Intent.EXTRA_TITLE, "title"); 

    Intent[] intentArray = {cameraIntent}; 
    chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray); 
    startActivity(chooser); 
+0

我試着用startActivityForResult()來使用它,但由於某些原因,我只從galler中選擇一張圖片纔得到結果。如果我用相機拍攝照片,結果意圖始終爲空。 – Babar 2013-11-15 04:33:47

+0

你會如何區分從相機和畫廊接收結果? – kabuto178 2014-03-02 22:52:42

+1

當有多個應用程序匹配'EXTRA_INITIAL_INTENTS'時,它們不會與相同的選擇器與匹配的'EXTRA_INTENT'合併。相反,選擇器中會出現一個系統項目,它會觸發另一個選擇器的打開。從UX角度來看,這不完全是最好的設計。 – 2014-04-23 16:43:31

相關問題