相机没有按下按钮拍照

时间:2013-01-20 08:08:57

标签: android android-intent camera

我使用以下代码在按下按钮时使用相机拍照。

然而,当我运行代码时,它只会在按下按钮但没有拍照后启动相机应用程序。为什么这不起作用?

我想在按下按钮时拍照并将其存储在可以在图库应用中查看的SD卡上。

public class demo extends Activity 
{
Button ButtonClick;
int CAMERA_PIC_REQUEST = 1337; 


@Override
public void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

ButtonClick =(Button) findViewById(R.id.Camera);
ButtonClick.setOnClickListener(new OnClickListener ()
   {
    @Override
    public void onClick(View view)
    {
        Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        // request code

        startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

    }
  });

 }

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
   if( requestCode == 1337)
   {
   //  data.getExtras()
      Bitmap thumbnail = (Bitmap) data.getExtras().get("data");          
   }
   else 
   {
    Toast.makeText(demo.this, "Picture NOt taken", Toast.LENGTH_LONG).show();
   }
    super.onActivityResult(requestCode, resultCode, data);
 }
}

1 个答案:

答案 0 :(得分:0)

是的,这是默认行为。有两种方式。

1)启动相机应用程序意图(您正在这样做),然后通过相机应用程序点击图片(如默认相机,点击相机拍照按钮或硬键。)

2)使用Camera类和Surfaceview创建自定义摄像机视图。它可以让你完全控制你想用相机做什么(虽然有限)