これがカメラの意図のコードです。完全に機能します。使用してみてください。
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;
public class PlayMenuActivity extends Activity implements OnClickListener {
Intent intent;
ImageButton cameraBtn, galleryBtn, maleBtn, femaleBtn;
static Bitmap photo;
Dialog dialog;
static String gender;
MediaPlayer mp;
protected static final int PHOTO_PICKED = 0;
private static final int CAMERA_REQUEST = 1337;
private static final int SELECT_PHOTO = 100;
private static final String TEMP_PHOTO_FILE = "tempPhoto.jpg";
protected boolean circleCrop = true;
private final static String TAG = "GetImageFromGalleryActivity";
// values for scaling image
protected int outputX = 320;
protected int outputY = 480;
protected int aspectX = 2;
protected boolean scale = true;
protected int aspectY = 3;
protected boolean return_data = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("hello", "oncreate PlayMenu");
setContentView(R.layout.play_menu_screen);//setting layout
//Image Buttons on activity screen
cameraBtn = (ImageButton) findViewById(R.id.cameraBtn_id);
galleryBtn = (ImageButton) findViewById(R.id.galleryBtn_id);
cameraBtn.setOnClickListener(this);
galleryBtn.setOnClickListener(this);
// sound played when button clicked
mp = MediaPlayer.create(this, R.raw.click);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.cameraBtn_id:
// camera intent for starting camera
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra("crop", "true");
cameraIntent.putExtra("aspectX", aspectX);
cameraIntent.putExtra("aspectY", aspectY);
cameraIntent.putExtra("outputX", outputX);
cameraIntent.putExtra("outputY", outputY);
cameraIntent.putExtra("scale", scale);
cameraIntent.putExtra("category", "camera");
startActivityForResult(cameraIntent, CAMERA_REQUEST);
break;
case R.id.galleryBtn_id:
// calling GalleryActivity for picking image from gallery
intent = new Intent(PlayMenuActivity.this, GalleryActivity.class);
startActivity(intent);
break;
default:
break;
}
}
/* creates bitmap of the captured photo */
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Log.i("hello", "REQUEST cALL");
//if a camera request is made and resultcode matches then bitmap is created
if (requestCode == CAMERA_REQUEST || resultCode == Activity.RESULT_OK) {
Log.i("hello", "REQUEST cALL");
try {
Log.i("hello", "Try Call");
Bitmap bMap = (Bitmap) data.getExtras().get("data");//creating bitmap
photo = bMap;
Intent intent = new Intent(PlayMenuActivity.this,
ShowActivity.class);
intent.putExtra("category", "camera");//adding category selected ie camera
startActivity(intent);
} catch (Exception e) {
Log.i("hello", "Exception" + e.getMessage());
}
} else {
// Log.i("hello", "Else call");
Toast.makeText(PlayMenuActivity.this, "Picture NOt taken",
Toast.LENGTH_LONG).show();
}
} // fn
}// class
お役に立てれば 。