2013-04-17 120 views
-1

我正在製作一個android相冊應用程序,我可以創建相冊並添加照片並從相冊中刪除照片。在我需要帶有文件路徑的照片文件名時,添加照片有點棘手。這在java中使用JFileChooser非常簡單,但這是android,我不知道如何獲取文件名和文件路徑。是否有任何東西在android api中,我可以獲得與JFileChooser相同的功能。android的文件選擇器

我正在尋找解決這個問題的方法,使用某種文件選擇器或整個新方法。任何幫助表示讚賞..

或有任何其他的方法,我可以實現添加照片......

+0

[這裏](http://ihhira.com/blog/2013/10/30/android-file-chooser-dialog /)是一個文件選擇器。這是一種java FileChooser替換。 – imranhasanhira

回答

1

您可以使用Intent.ACTION_PICK調用圖像拾取。這種意圖可能會被默認的圖庫應用程序或安裝在設備上的其他應用程序所捕獲。

private static final int REQUEST_PICKER = 1; 

private void invokePicker() { 
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    intnet.setType("image/*"); 
    startActivityForResult(Intent.createChooser(intent, "Complete action using"), REQUEST_PICKER); 
} 

然後在onActivityResult上收到結果。

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode != RESULT_OK) 
     return; 
    if (requestCode == PICK_FROM_FILE) { 
     // Get Uri of the file selected, 
     Uri theImageUri = data.getData(); 
     // Or if you want a Bitmap, 
     Bitmap theBitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), theImageUri); 
    } 
} 

編輯:

儘管這樣,你並不需要一個真正的文件路徑,you can get it from MediaStore if you need.

+0

所以這會給我一個窗口,我可以選擇一張照片添加到我的相冊?你可以發佈一個按鈕的這個工作的屏幕截圖。我知道按鈕有onclicklistener然後我可以添加上面的代碼,它會工作? – jrdnsingh89

+0

是的,它非常簡單,只需嘗試一下,在按鈕點擊處理程序中調用上面的'invokePicker()'來查看將要顯示的內容。 :)對不起,我編輯了我的答案以糾正一些錯誤,因此請務必在複製之前重新加載頁面。 – tnj

+0

@tnj非常感謝你!這對我有幫助! – user1106464