Android Introduction Camera
Goal Create an application that launches the built-in Camera and use the results for displaying the captured image.
Layout Make a LinearLayout with a TextView, a Button, and an ImageView Create a handler for the OnClick event of the Button
Launch Camera Creating an Intent, as follows, within your button click handler: Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); Launch camera activity with asking result: startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); define within your application as the request code returned by the Camera image capture Intent private static final int CAMERA_PIC_REQUEST = 1;
Handling result from Camera By adding onActivityResult() in your Activity: protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAMERA_PIC_REQUEST) { // display image Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView imageTakePic = (ImageView) findViewById(R.id.imageViewPhone); imageTakePic.setImageBitmap(thumbnail); } }
Enforcing Device Requirement <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ucab.test.camera" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <uses-feature android:name="android.hardware.camera"></uses-feature> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".AndroidCameraActivity" android:label="@string/app_name"> <intent-filter> : Application wants a camera It is not enforced by Android