Android拍照并显示

案例一:在当前按钮点击拍照按钮,拍完照后将照片显示在当前界面

效果图:


第一步:先跳转到拍照界面

  Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(cameraIntent, CAMERA_REQUEST);

第二步:显示照片,重写onActivityResult方法

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            imageView.setImageBitmap(photo);
        }
    }

Demo下载地址: http://download.csdn.net/detail/k2514091675/9822891


案例二:在当前按钮点击拍照按钮,拍完照后将照片显示在另一个界面

效果图:


第一步:跳转到拍照界面

 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//实例化Intent对象,使用MediaStore的ACTION_IMAGE_CAPTURE常量调用系统相机
        startActivityForResult(intent, CAMERA_RESULT);//开启相机,传入上面的Intent对象

第二步:将拍照完后的照片传递到另一个界面

/**
     * 用onActivityResult()接收传回的图像,当用户拍完照片,或者取消后,系统都会调用这个函数
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == RESULT_OK && requestCode == CAMERA_RESULT) {

            //xActivity就是启动的另一个界面,在xxxActivity中,
            Intent intent2 = new Intent(this, A.class);
            //从Intent中获取附加值
            Bundle extras = data.getExtras();
            //从附加值中获取返回的图像
            Bitmap datas = (Bitmap) extras.get("data");
            //intent2.setData(data);
            //将数据附加给intent2
            intent2.putExtra("zp", datas);
            startActivityForResult(intent2, 101);

        }

    }

第三步:根据参数接收传递过来的信息

  //将intent1的数据传递到intent2
        Bundle extras = getIntent().getExtras();
        Bitmap zp = (Bitmap) extras.get("zp");
        mPlayPicture.setImageBitmap(zp);


Demo下载地址: http://download.csdn.net/detail/k2514091675/9822893

猜你喜欢

转载自blog.csdn.net/K2514091675/article/details/70500417