私はまだ開発が新しく、Android:画像取り込み/取り消しの後に新しいボタンを追加
スキーム:画像をキャプチャするためにcapture_button
を押した後
(capture_button
とimagePreview
は同じ活性である)、Iはcapture_button
を除去しACCEPT
又はDECLINE
ボタンしたいと思います。これらのボタンは、画像をaccept
とし、保存するか、画像をdecline
とし、imagePreviewに戻ります。
今、私はIntent
のいくつかの種類を行うことになっています、今、
PhotoActivity.java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.photo);
mCamera = getCameraInstant();
mCameraPreview = new CameraPreview(this, mCamera);
FrameLayout preview = (FrameLayout) findViewById(id.camera_preview);
preview.addView(mCameraPreview);
// Add a listener to the Capture button
Button captureButton = (Button) findViewById(id.button_capture);
captureButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// get an image from the camera
mCamera.takePicture(null, null, mPicture);
}
}
);
}
PictureCallback mPicture = new PictureCallback(){
@Override
public void onPictureTaken(byte[] data, Camera camera) {
Log.e("photo","pictureCallback");
// TODO Auto-generated method stub
File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE);
if(pictureFile==null){
return;
}
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
Log.d(TAG, "File not found: " + e.getMessage());
} catch (IOException e){
Log.d(TAG, "Error accessing file: " + e.getMessage());
}
}
};
private File getOutputMediaFile(int type){
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "Photo");
if (!mediaStorageDir.exists()){
if (! mediaStorageDir.mkdirs()){
Log.d("Photo", "failed to create directory");
return null;
}
}
// Create a media file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile;
mediaFile = new File(mediaStorageDir.getPath() + File.separator +
"IMG_"+ timeStamp + ".jpg");
return mediaFile;
}
私はcapture_button
が押されたときに別のアクティビティを作成することになってるのかはわかりませんcapture_button
クリックした後、または
PictureCallback mPicture = new PictureCallback(){
後にし、他の活動で
onPictureTaken
がありますか?それとも私の考えは間違っていますか?
助けてください?
ありがとうございます。