2014-04-01 2 views
0

안녕하세요 여러분, 기기의 기존 카메라 앱을 사용하는 앱에서 스냅 샷을 찍으려고합니다. 나는 Android 개발자 사이트에서 제공되는 단계를 따랐습니다. 이 다음에카메라가 안드로이드 앱에서 열리지 않습니다.

public boolean onMenuItemSelected(int featureId, MenuItem item) { 
    // TODO Auto-generated method stub 
    switch(item.getItemId()){ 
    case R.id.pic_take: 
     i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(i, cameraData); 
     return true; 
    } 
    return super.onMenuItemSelected(featureId, item); 
} 

은 :

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    if(requestCode == cameraData && resultCode == RESULT_OK){ 
     Bundle extras = data.getExtras(); 
     bmp = (Bitmap) extras.get("data"); 
     cameraView.setImageBitmap(bmp); 

    } 
} 

나는 또한 내 에뮬레이터 전면이 있는지 확인하게하고 다시 카메라 사용 가능.

이 질문을 끝내지 마십시오. 문제는 카메라가 열지 않는 옵션을 선택하고 활동 로그에 오류가없는 경우입니다. 나도 응용 프로그램 충돌하지 않습니다 : 나는 옵션을 클릭하면, 나는 활동 로그에 얻을 수있는 유일한 메시지는 다음과 같습니다

04-01 17:44:16.665: I/Choreographer(1227): Skipped 48 frames! The application may be doing too much work on its main thread. 

이 친절하게이 문제를 해결하는 데 도움이됩니다.

+0

날은 실제 장치에 worket 경우에 당신이 그것을 시도했다면 있음을 알려 :) –

답변

0

일들이 때로는 에뮬레이터 작업은 제대로 ... 당신은 오류

Skipped 48 frames! The application may be doing too much work on its main thread. 

메시지 당신을 위해도 ... 실제 장치에 그것을 시도하는 거예요 휴대 전화에서는 볼 수 있지만 에뮬레이터에서는 볼 수 없습니다. 에뮬레이터가 매우 느립니다. 수행중인 작업은 자원 집약적이므로 응용 프로그램이 장치에서 명목상 수행해야합니다.

그래서 결과는 실제 장치에 그것을 시도하십시오 (그리고 그것은 작동) :

+0

난 그냥 안드로이드 장치 잡고있어 애플 리케이션을 확인했습니다. 그림 가져 오기 버튼을 클릭해도 아무런 변화가 없습니다. 나는 실수가 어디에 있는지 이해하지 못한다 – viswanth

+0

나는 다른 장치에서 그것을 시도하고 지금 작동합니다. 기묘한! 제안 해 주셔서 감사합니다. – viswanth

1

AndroidManifest.xml에서 카메라 권한을 선언 한 경우 궁금합니다. 당신이, 내가 제안 할 수있는 경우 카메라와 같은

<uses-permission android:name="android.permission.CAMERA" /> 
+0

나는 권한을 추가했다. 그래도 제안 주셔서 감사합니다 – viswanth

관련 문제