public class Main_Activity extends Activity {
Button select, take;
ImageView imageView;
private Uri uri_tp;
final private int SELECT = 1, TAKE = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
select = (Button) findViewById(R.id.select);
take = (Button) findViewById(R.id.take);
imageView = (ImageView) findViewById(R.id.imageview);
select.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, SELECT);
}
});
take.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
File file = new File("/sdcard/", "takaphoto.jpg");
try {
if (file.exists()) {
file.delete();
}
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
uri_tp = Uri.fromFile(file);
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri_tp);
startActivityForResult(intent, TAKE); // 启动相机程序
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (-1 == resultCode) {
switch (requestCode) {
case SELECT:
Uri uri = data.getData();
try {
Bitmap bitmap = BitmapFactory
.decodeStream(getContentResolver().openInputStream(
uri));
imageView.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case TAKE:
try {
Bitmap bitmap = BitmapFactory
.decodeStream(getContentResolver().openInputStream(
uri_tp));
imageView.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
default:
break;
}
}
}
}
切记要申请读写sdcard权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />