2013-04-23 3 views
1

현재 내 안드로이드 앱에 카메라를 통합하고 내 기기에 그림을 저장하려고합니다. 그러나 사진을 찍을 때 진행할 수 없습니다 (앱이 작동하지만 카메라가 멈추어 다른 사진을 찍고 돌아갈 수는 있지만 확인할 수는 없습니다). 네가 도울 수 있는지 궁금해했다. 가능한 한 간단하게 설명해주세요. 왜냐하면 저는 안드로이드를 프로그래밍 할 때 매우 새로운 기술이기 때문입니다. 모두에게 감사드립니다!안드로이드 앱에서 카메라가 멈 춥니 다

public class PhotoCapture extends Activity { 
int TAKE_PHOTO_CODE = 0; 
public static int count=0; 
public static File newfile; 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.photocapture); 



Button capture = (Button) findViewById(R.id.takepicture); 
capture.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 

     ContextWrapper cw = new ContextWrapper(getBaseContext()); 
     newfile = cw.getDir("test.jpg", Context.MODE_PRIVATE); 

     try { 
      newfile.createNewFile(); 
     } catch (IOException e) {}  

     Uri outputFileUri = Uri.fromFile(newfile); 


     Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 

     startActivityForResult(cameraIntent, TAKE_PHOTO_CODE); 
    } 
}); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

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


     uri = data.getData().toString(); 
     Log.d("CameraDemo", "Pic saved"); 

     Intent myview = new Intent(this, Finalpiece.class); 
     startActivity(myview); 


    } 
} 
} 
+0

onActivityResult를 여기를 참조하십시오 :( – user2309668

+0

를 실행하지 않는 것 같습니다 : http://stackoverflow.com/questions/15248265/camera-intent-not-working-with-samsung-galaxy-s3/15287164#15287164 – Skynet

답변

1
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
<uses-permission android:name="android.permission.CAMERA"/> 

사용하기 전에이 권한 ...이 사용이 코드 후

private static final int REQ_CAPTURE_CAPTURE__IMAGE = 0; 
    private String imagePath; 

/** 
    * Start camera activity. 
    */ 
    protected void startCameraActivity() { 
     String imageDirectory = Environment.getExternalStorageDirectory() 
     + File.separator + "surbeyImg"; 
     File imageDirectory = new File(imageDirectory); 

     if (!(imageDirectory.exists())) { 
      imageDirectory.mkdir(); 
     } 

     String imagePath = imageDirectory + File.separator + imgName+".jpg"); 

     File file = new File(imagePath); 
     Uri outputFileUri = Uri.fromFile(file); 

     Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

     intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
     intent.putExtra("outputFormat", Bitmap.CompressFormat.PNG.toString()); 
     startActivityForResult(intent, REQ_CAPTURE_CAPTURE__IMAGE); 
    } 

    protected void onActivityResult(int requestCode, int resultCode, 
      Intent imageReturnedIntent) { 

     switch (requestCode) { 

     case REQ_CAPTURE_CAPTURE__IMAGE: 

      if (resultCode == RESULT_OK) { 
       Intent intentImg = new Intent(CameraDemo.this, ShowImg.class);    
       intentImg.putExtra("imagePath",imagePath);   
       startActivity(intentImg); 

      } 

      break; 

     default: 
      break; 

     } 
    } 

... 감사