现在的位置: 首页 > 综合 > 正文

使用android内置相机拍照

2013年08月06日 ⁄ 综合 ⁄ 共 2223字 ⁄ 字号 评论关闭
主程序:

public class AndroCamera extends Activity {

    private static final int IMAGE_CAPTURE = 0;

    private Button startBtn;

    private Uri imageUri;

    private ImageView imageView;

    /** Called when the activity is first created.

     *  sets the content and gets the references to

     *  the basic widgets on the screen like

     *  {@code Button} or {@link ImageView}

     */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        imageView = (ImageView)findViewById(R.id.img);

        startBtn = (Button) findViewById(R.id.startBtn);

        startBtn.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                startCamera();

            }

        });

    }

    public void startCamera() {

        Log.d("ANDRO_CAMERA", "Starting camera on the phone...");

        String fileName = "testphoto.jpg";

        ContentValues values = new ContentValues();

        values.put(MediaStore.Images.Media.TITLE, fileName);

        values.put(MediaStore.Images.Media.DESCRIPTION,

                "Image capture by camera");

        values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");

        imageUri = getContentResolver().insert(

                MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

        intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

        startActivityForResult(intent, IMAGE_CAPTURE);

    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if (requestCode == IMAGE_CAPTURE) {

            if (resultCode == RESULT_OK){

                Log.d("ANDRO_CAMERA","Picture taken!!!");

                imageView.setImageURI(imageUri);

            }

        }

    }

页面文件:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

   android:orientation="vertical"

   android:layout_width="fill_parent"

   android:layout_height="fill_parent"

   >

<Button android:text="Start Camera"

    android:id="@+id/startBtn"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content">

</Button>

<ImageView android:id="@+id/img"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent">

</ImageView>

</LinearLayout

抱歉!评论已关闭.