2015-01-05 35 views

回答

0

使用下面的代碼,你可以從圖庫中選擇了一個形象

Intent intent = new Intent(); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE); 

之後,拾取圖像將是由onActivityResult()方法

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(resultCode == Activity.RESULT_OK && requestCode == PICK_IMAGE && data != null && data.getData() != null) { 
     Uri _uri = data.getData(); 
     Cursor cursor = getContentResolver().query(_uri, new String[] { android.provider.MediaStore.Images.ImageColumns.DATA }, null, null, null); 
     cursor.moveToFirst(); 

     //Get the image file path 
     final String imageFilePath = cursor.getString(0); 
     cursor.close(); 

     //save it the sdcard 
     saveToSDCard(imageFilePath); 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 
+0

非常感謝您的回覆,同時我也希望看到保存的圖片。 –

0

挑圖像回來自Sd卡:

Intent mediaChooser = new Intent(
        Intent.ACTION_PICK, 
        android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
      // comma-separated MIME types 
      mediaChooser.setType("image/*"); 
      startActivityForResult(mediaChooser, RESULT_LOAD_WATER_IMAGE); 

而在活動結果:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    switch (requestCode) { 
    case 0: 

     if (resultCode == RESULT_OK) { 


      String path; 

      path = getRealPathFromURI(data.getData()); 


     } 
     break; 


} 

實現 - getRealPathFromURI:

public String getRealPathFromURI(Uri contentUri) { 
    try { 
     String[] proj = { MediaStore.Images.Media.DATA }; 
     Cursor cursor = managedQuery(contentUri, proj, null, null, null); 
     int column_index = cursor 
       .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } catch (Exception e) { 
     return contentUri.getPath(); 
    } 
} 

將圖片保存到SD卡上點擊:

// TODO Auto-generated method stub 
    String root = Environment.getExternalStorageDirectory() 
      .toString(); 
    File myDir = new File(root + "/Your Folder Name"); 
    myDir.mkdirs(); 
    String fname = "Your File Name"; 
    File file = new File(myDir, fname); 
    if (file.exists()) 
     file.delete(); 
    try 
    { 
    FileOutputStream out = new FileOutputStream(file); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); 
    out.flush(); 
    out.close(); 
    } 
    catch (Exception e) { 
    e.printStackTrace(); 
    System.out.println("error" + e); 
    }