The following code shows how to Take a picture.
<?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" > <TextView android:id="@+id/main_text_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Click the button below to take a picture" android:textSize="30dip" /> <Button android:id="@+id/camera_button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Take a picture" android:textSize="30dip"/> </LinearLayout>
Java code
import android.app.Activity; import android.os.Bundle; /*from w w w .j a va 2s.co m*/ import android.view.View; import android.widget.Button; import android.content.Intent; import android.provider.MediaStore; import android.view.View.OnClickListener; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; /* Written by Martin Dinstuhl mdinstuhl@gmail.com I put this together in order to help other Android developers who might be having the same problem I've had for the past few days. Please let me know if you have any questions. */ public class MainActivity extends Activity { final int PICTURE_ACTIVITY = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final Button cameraButton = (Button)findViewById(R.id.camera_button); cameraButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v){ Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, PICTURE_ACTIVITY); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); AlertDialog msgDialog; if (resultCode == RESULT_CANCELED) { // The user didn't like the photo. ;_; msgDialog = createAlertDialog("Q_Q", "", "OK! I'LL TRY AGAIN!"); } else { msgDialog = createAlertDialog("ZOMG!", "CRAP!", "I KNOW RITE??!?"); } msgDialog.show(); } private AlertDialog createAlertDialog(String title, String msg, String buttonText){ AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); AlertDialog msgDialog = dialogBuilder.create(); msgDialog.setTitle(title); msgDialog.setMessage(msg); msgDialog.setButton(buttonText, new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int idx){ return; // Nothing to see here... } }); return msgDialog; } }