Android:打开照相机获取照片

Android:打开照相机获取照片

首先先在AndroidManifest.xml中添加权限







在打开照相机的页面所对应的Activity.java中打卡照相机并获得相片数据
首先设置点击事件

private class ClickListener implements View.OnClickListener{
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_camera:
                //打开照相机
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(intent, 1);
                break;
          case R.id.btn_cancel:
                window.dismiss();
                break;
        }
    }
}

转换获取相片格式使用intent携带照片跳转

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Bundle bundle = data.getExtras(); 
    Bitmap bitmap =(Bitmap) bundle.get("data");// 获取相机返回的数据,并转换为Bitmap图片格式
   Intent intent=new Intent();
   //转跳页面
   intent.setClass(MainActivity.this,FabuActivity.class);
   ByteArrayOutputStream baos=new ByteArrayOutputStream();
   bitmap.compress(Bitmap.CompressFormat.PNG,100,baos);
   byte[] bitmapByte=baos.toByteArray();
   String code="1";
   intent.putExtra("code",code);
   intent.putExtra("pic",bitmapByte);
   startActivity(intent);
   }
    

新Activity接收图片流

final Intent intent = getIntent();
ImageView imageView = findViewById(R.id.imageView);
byte[] bis = intent.getByteArrayExtra("pic");
Bitmap  bitmap1 = BitmapFactory.decodeByteArray(bis, 0, bis.length);
imageView.setImageBitmap(bitmap1);

你可能感兴趣的:(Android,Android,代码)