Android 中用Intent提取缩略图和原始图像


提取图像的Thumbnail:

  1. Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);  
  2.   intent.setType("image/*");  
  3.   intent.putExtra("return-data"true);  
  4.   startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKED);  
  5.   
  6. protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  7.     if (resultCode != RESULT_OK) {  
  8.       return;  
  9.     }  
  10.     Bitmap bitmap = null;  
  11.     ContentResolver resolver = getContentResolver();  
  12.     if (requestCode == REQUEST_CODE_PHOTO_PICKED) {  
  13.       final Bundle extras = data.getExtras();  
  14.       if (extras != null)  
  15.       bitmap = extras.getParcelable("data");  
  16.     }  
  17. }  
  18. //此方法返回的data 必须小于100k  
获取原图:
  1. Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);  
  2.   intent.setType("image/*");  
  3.   startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKED);  
  4.   
  5. protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  6.   if (resultCode != RESULT_OK) {  
  7.         return;  
  8.   }  
  9.   Bitmap bitmap = null;  
  10.   ContentResolver resolver = getContentResolver();  
  11.   if (requestCode == REQUEST_CODE_PHOTO_PICKED) {  
  12.   try {  
  13.       Uri originalUri = data.getData();  
  14.       Uri thumb = Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,   
  15.             originalUri.getLastPathSegment());  
  16.       bitmap = MediaStore.Images.Media.getBitmap(resolver, thumb);  
  17.   } catch (IOException e) {  
  18.         }  
  19.   }  
  20. }  

相关内容