2013-10-04 52 views
3

我通過這段代碼獲取圖像從庫保存:如何重命名從手機圖庫中檢索圖像,並用新名稱

接受 其他的答案解釋如何發送的意圖,但他們並沒有解釋以及如何處理響應。下面是關於如何做到這一點一些示例代碼:

protected void onActivityResult(int requestCode, int resultCode, 
     Intent imageReturnedIntent) { 
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

    switch(requestCode) { 
    case REQ_CODE_PICK_IMAGE: 
     if(resultCode == RESULT_OK){ 
      Uri selectedImage = imageReturnedIntent.getData(); 
      String[] filePathColumn = {MediaStore.Images.Media.DATA}; 

      Cursor cursor = getContentResolver().query(
           selectedImage, filePathColumn, null, null, null); 
      cursor.moveToFirst(); 

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      String filePath = cursor.getString(columnIndex); 
      cursor.close(); 


      Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath); 
     } 
    } 
} 

現在,我想從文件路徑獲取文件名,重命名,然後重新保存。這可能嗎?如果是,如何?

回答

3

它總是可能的!

//get file 
File photo = new File(filePath); 

//file name 
String fileName = photo.getName(); 

//resave file with new name 
File newFile = new File("new file name"); 
photo.renameTo(newFile); 
+0

renameTo()方法每次都會爲我返回false。我正在使用三星設備進行調試(具有對外部存儲的讀寫權限) – Husyn