Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
1
0
 
0
Language: Java
Posted by: Hafiz Waleed Hussain
Added: Jun 29, 2013 6:41 AM
Modified: Jul 4, 2013 2:41 AM
Views: 1242
Tags: android
  1. import java.io.File;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.graphics.Bitmap;
  6. import android.net.Uri;
  7. import android.os.Bundle;
  8. import android.os.Environment;
  9. import android.provider.MediaStore;
  10. import android.text.format.Time;
  11. import android.view.View;
  12. import android.widget.ImageView;
  13. import android.widget.Toast;
  14.  
  15. public class MainActivity extends Activity {
  16.  
  17.         private ImageView image = null;
  18.  
  19.         private Uri mHighQualityImageUri = null;
  20.  
  21.         private final int REQUEST_CODE_LOW_QUALITY_IMAGE = 1;
  22.         private final int REQUEST_CODE_HIGH_QUALITY_IMAGE = 2;
  23.  
  24.         @Override
  25.         protected void onCreate(Bundle savedInstanceState) {
  26.                 super.onCreate(savedInstanceState);
  27.                 setContentView(R.layout.activity_main);
  28.                 image = (ImageView) findViewById(R.id.image);
  29.         }
  30.  
  31.         // Button click listener
  32.         public void onSmallImageCapture(View v) {
  33.  
  34.                 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  35.                 startActivityForResult(intent, REQUEST_CODE_LOW_QUALITY_IMAGE);
  36.         }
  37.  
  38.         // Button click listener
  39.         public void onLargeImageCapture(View v) {
  40.  
  41.                 mHighQualityImageUri = generateTimeStampPhotoFileUri();
  42.                 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  43.                 intent.putExtra(MediaStore.EXTRA_OUTPUT, mHighQualityImageUri);
  44.                 startActivityForResult(intent, REQUEST_CODE_HIGH_QUALITY_IMAGE);
  45.  
  46.         }
  47.  
  48.         private Uri generateTimeStampPhotoFileUri() {
  49.  
  50.                 Uri photoFileUri = null;
  51.                 File outputDir = getPhotoDirectory();
  52.                 if (outputDir != null) {
  53.                         Time t = new Time();
  54.                         t.setToNow();
  55.                         File photoFile = new File(outputDir, System.currentTimeMillis()
  56.                                         + ".jpg");
  57.                         photoFileUri = Uri.fromFile(photoFile);
  58.                 }
  59.                 return photoFileUri;
  60.         }
  61.  
  62.         private File getPhotoDirectory() {
  63.                 File outputDir = null;
  64.                 String externalStorageStagte = Environment.getExternalStorageState();
  65.                 if (externalStorageStagte.equals(Environment.MEDIA_MOUNTED)) {
  66.                         File photoDir = Environment
  67.                                         .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
  68.                         outputDir = new File(photoDir, getString(R.string.app_name));
  69.                         if (!outputDir.exists())
  70.                                 if (!outputDir.mkdirs()) {
  71.                                         Toast.makeText(
  72.                                                         this,
  73.                                                         "Failed to create directory "
  74.                                                                         + outputDir.getAbsolutePath(),
  75.                                                         Toast.LENGTH_SHORT).show();
  76.                                         outputDir = null;
  77.                                 }
  78.                 }
  79.                 return outputDir;
  80.         }
  81.  
  82.         @Override
  83.         protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  84.                 super.onActivityResult(requestCode, resultCode, data);
  85.  
  86.                 if (resultCode == RESULT_OK) {
  87.  
  88.                         switch (requestCode) {
  89.                         case REQUEST_CODE_LOW_QUALITY_IMAGE:
  90.                                 Bitmap bmp = (Bitmap) data.getExtras().get("data");
  91.                                 image.setImageBitmap(bmp);
  92.  
  93.                                 break;
  94.  
  95.                         case REQUEST_CODE_HIGH_QUALITY_IMAGE:
  96.  
  97.                                 image.setImageURI(mHighQualityImageUri);
  98.                                 sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
  99.                                                 Uri.parse("file://"
  100.                                                                 + Environment.getExternalStorageDirectory())));
  101.                                 break;
  102.                         default:
  103.                                 break;
  104.                         }
  105.  
  106.                 }
  107.         }
  108. }
  109.  

2 comments

sunil singh 4 years ago
it s amazing A big Thanks
Gustavo Costa 11 months ago
Nice one

Write a comment