android 调用系统照相机

[java]  view plain copy print ?
  1. package com.b509.activity.patient;  
  2.   
  3. import java.io.File;  
  4. import java.io.FileNotFoundException;  
  5. import java.io.FileOutputStream;  
  6. import java.io.IOException;  
  7. import java.text.SimpleDateFormat;  
  8.   
  9. import com.b509.activity.doctor.EditImage;  
  10.   
  11. import android.app.Activity;  
  12. import android.content.Intent;  
  13. import android.graphics.Bitmap;  
  14. import android.net.Uri;  
  15. import android.os.Bundle;  
  16. import android.os.Environment;  
  17. import android.provider.MediaStore;  
  18. import android.util.Log;  
  19. import android.widget.ImageButton;  
  20. import android.widget.ImageView;  
  21.   
  22. public class PhotographActivity extends Activity {  
  23.   
  24.     private Bitmap bitmap;  
  25.     private String date;  
  26.     private String fileName;  
  27.     private String pictureName;  
  28.     int flag_img;  
  29.   
  30.     public void onCreate(Bundle savedInstanceState) {  
  31.         super.onCreate(savedInstanceState);  
  32.         // setContentView(R.layout.phtot  
  33.         Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
  34.         flag_img = getIntent().getIntExtra("photoflag"1);  
  35.   
  36.         startActivityForResult(intent, 1);  
  37.     }  
  38.   
  39.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  40.         super.onActivityResult(requestCode, resultCode, data);  
  41.         if (resultCode == Activity.RESULT_OK) {  
  42.             String sdStatus = Environment.getExternalStorageState();  
  43.             // 检测sd是否可用  
  44.             if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) {  
  45.                 Log.v("TestFile",  
  46.                         "SD card is not avaiable/writeable right now.");  
  47.                 return;  
  48.             }  
  49.             Bundle bundle = data.getExtras();  
  50.             // 获取相机返回的数据,并转换为Bitmap图片格式  
  51.             bitmap = (Bitmap) bundle.get("data");  
  52.             FileOutputStream b = null;  
  53.             File file = new File("/sdcard/myImage/");  
  54.             // 创建文件夹  
  55.             file.mkdirs();  
  56.   
  57.             SimpleDateFormat sDateFormat = new SimpleDateFormat(  
  58.                     "yyyyMMddhhmmss");  
  59.             date = sDateFormat.format(new java.util.Date());  
  60.             pictureName = date + ".jpg";  
  61.             fileName = "/sdcard/myImage/" + date + ".jpg";  
  62.             System.out.println(fileName + "*******************");  
  63.   
  64.             try {  
  65.                 b = new FileOutputStream(fileName);  
  66.                 bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件  
  67.   
  68.             } catch (FileNotFoundException e) {  
  69.                 e.printStackTrace();  
  70.             } finally {  
  71.                 try {  
  72.                     b.flush();  
  73.                     b.close();  
  74.                 } catch (IOException e) {  
  75.                     e.printStackTrace();  
  76.                 }  
  77.             }  
  78.             Intent intent = new Intent();  
  79.             intent.putExtra("getImagepath", fileName);  
  80.             System.out.println("图片路径============" + fileName);  
  81.             intent.setClass(PhotographActivity.this, EditImage.class);  
  82.             intent.putExtra("getFlag", flag_img);  
  83.   
  84.             startActivity(intent);  
  85.             finish();  
  86.         }  
  87.     }  
  88. }  
调用系统照相机Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);这一句非常关键!

你可能感兴趣的:(android 调用系统照相机)