点击(此处)折叠或打开
-
package cn.com.xiebiao.mytest;
-
-
import android.app.Activity;
-
import android.content.Intent;
-
import android.graphics.BitmapFactory;
-
import android.net.Uri;
-
import android.os.Bundle;
-
import android.os.Environment;
-
import android.provider.MediaStore;
-
import android.widget.ImageView;
-
import java.io.File;
-
import java.io.FileInputStream;
-
import java.io.FileNotFoundException;
-
import java.io.IOException;
-
import java.io.InputStream;
-
-
public class MainActivity extends Activity{
-
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
-
private ImageView imageView;
-
Uri uri;
-
File myfile;
-
File dir;
-
-
@Override
-
public void onCreate(Bundle savedInstanceState) {
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.activity_main);
-
-
imageView=(ImageView)this.findViewById(R.id.imageView);
-
//获取外部存储卡的路径,并且将图片保存为my.jpg
-
dir=Environment.getExternalStorageDirectory();
-
myfile=new File(dir,"my.jpg");
-
-
//将文件路径转为uri传给intent
-
uri=Uri.fromFile(myfile);
-
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
-
//通知照相机保存照片到uri
-
intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
-
startActivityForResult(intent,CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
-
}
-
-
@Override
-
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-
if(requestCode==CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE && resultCode==RESULT_OK) {
-
try {
-
//读取存储卡中的图片在imageView中显示出来
-
InputStream inputStream=new FileInputStream(myfile);
-
byte[] buffer=new byte[inputStream.available()];
-
inputStream.read(buffer);
-
imageView.setImageBitmap(BitmapFactory.decodeByteArray(buffer,0,buffer.length));
-
} catch (FileNotFoundException e) {
-
e.printStackTrace();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
}
-
}
- }