完整代码为:
- import android.app.Activity; import android.content.Intent;
- import android.net.Uri; import android.os.Bundle;
- import android.os.Environment; import android.provider.MediaStore;
- import android.util.Log; import android.view.View;
- import android.widget.Button; import android.widget.ImageView;
- import java.io.File; public class MainActivity extends Activity {
- private File fileName = null; private Button button;
- private ImageView imageView; @Override
- protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.button);
- imageView = (ImageView)findViewById(R.id.imageView); button.setOnClickListener(new View.OnClickListener() {
- @Override public void onClick(View v) {
- File filePath = new File(Environment.getExternalStorageDirectory(), "myCamera"); if(!filePath.exists()){
- filePath.mkdirs(); }
- fileName = new File(filePath, System.currentTimeMillis() + ".jpg"); try{
- if(!fileName.exists()){ fileName.createNewFile();
- } }catch (Exception e){
- e.printStackTrace(); }
- // intent用来启动系统自带的Camera Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- // 将系统Camera的拍摄结果写入到文件 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(fileName));
- // 启动intent对应的Activity,返回默认消息 startActivityForResult(intent, Activity.DEFAULT_KEYS_DIALER);
- } });
- } @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data){ if(requestCode == Activity.DEFAULT_KEYS_DIALER){
- // MainActivity接收Camera返回的消息,然后将已经写入的图片显示在ImageView内 imageView.setImageURI(Uri.fromFile(fileName));










