Android拍照並顯示
阿新 • • 發佈:2018-10-31
案例一:在當前按鈕點選拍照按鈕,拍完照後將照片顯示在當前介面
效果圖:
第一步:先跳轉到拍照介面
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);