안드로이드 개발 질문/답변 (글 수 45,052)
  • RSS
  • Skin Info
  • Tag list
  • List
  • Webzine
  • Gallery
08-26 14:48:06.944: ERROR/AndroidRuntime(8935): java.lang.RuntimeException: Method called after release()
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at android.hardware.Camera.setHasPreviewCallback(Native Method)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at android.hardware.Camera.access$600(Camera.java:58)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at android.hardware.Camera$EventHandler.handleMessage(Camera.java:331)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at android.os.Looper.loop(Looper.java:123)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at android.app.ActivityThread.main(ActivityThread.java:4364)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at java.lang.reflect.Method.invokeNative(Native Method)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at java.lang.reflect.Method.invoke(Method.java:521)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
08-26 14:48:06.944: ERROR/AndroidRuntime(8935):     at dalvik.system.NativeStart.main(Native Method)


카메라 어플자체는 정상적으로 돌아가나, 카메라 어플 종료시에 이 로그가 발생하면서 어플이 끝난뒤에 예상치 않은 오류(익숙한)을 띄우면서 종료 해 버리더군요.
갤스로 작업하고 있습니다. 혹시 이러한 비슷한 증상을 겪으신분들 어떻게 해결하 셨는지 알려주시면 감사하겠습니다.^^


아래는 오류가 나고 있는 preview의 풀소스입니다.
package com.samsung.Camera;
import java.io.IOException;

import android.content.Context;
import android.hardware.Camera;
import android.hardware.Camera.PreviewCallback;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

class Preview extends SurfaceView implements SurfaceHolder.Callback {
 SurfaceHolder mHolder;
 Camera mCamera;

 Preview(Context context) {
  super(context);

  // SurfaceHolder.Callback을 설정함으로써 Surface가 생성/소멸되었음을
  // 알 수 있습니다.
  mHolder = getHolder();
  mHolder.addCallback(this);
  mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
 }

 public void surfaceCreated(SurfaceHolder holder) {
  // Surface가 생성되었다면, 카메라의 인스턴스를 받아온 후 카메라의
  // Preview 를 표시할 위치를 설정합니다.
  mCamera = Camera.open();
  try {
   mCamera.setPreviewDisplay(holder);
   mCamera.setPreviewCallback(new PreviewCallback() {

    public void onPreviewFrame(byte[] data, Camera arg1) {
     Preview.this.invalidate();
    }
   });
  } catch (IOException exception) {
//   mCamera.release();
   mCamera = null;
   // TODO: add more exception handling logic here
  }
  mCamera.startPreview();
//  mCamera.startPreview();
 }

 public void surfaceDestroyed(SurfaceHolder holder) {
  // 다른 화면으로 돌아가면, Surface가 소멸됩니다. 따라서 카메라의 Preview도
  // 중지해야 합니다. 카메라는 공유할 수 있는 자원이 아니기에, 사용하지 않을
  // 경우 -액티비티가 일시정지 상태가 된 경우 등 - 자원을 반환해야합니다.
  mCamera.stopPreview();
  mCamera.release();
//  mCamera = null;
 }

 public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
  // 표시할 영역의 크기를 알았으므로 해당 크기로 Preview를 시작합니다.
  Camera.Parameters parameters = mCamera.getParameters();
  parameters.setPreviewSize(w, h);
//  mCamera.setParameters(parameters);
  mCamera.startPreview();
//  mCamera.stopPreview();
//  mCamera.startPreview();
 }
 public boolean capture(Camera.PictureCallback jpegHandler, Camera.ShutterCallback shutterHandler, Camera.PictureCallback rawHandler){
  if(mCamera !=null){
   mCamera.takePicture(shutterHandler, rawHandler, jpegHandler);
   return true;
  }
  else{
   return false;
  }
 }

}


삭제 수정 댓글
2010.09.17 10:23:37
zic325
surfaceDestroyed 할 때 mCamera.setPreviewCallback(null)을 해보셔용.ㅋ
공지 앱개발 질문 게시글 작성시 소스코드를 보기 쉽게 처리하기 33 file
멍멍대왕
622013 5 2010-01-21 2013-02-17 14:05
공지 앱개발 질문 [필독] Q&A 게시판 글작성 안내, 질문전 검색 필수! 176
회색
1064748 7 2010-01-29 2020-09-21 15:37
앱개발 질문
쓰레드 질문입니다. (8)
사가트
2010.08.27
조회 2708
앱개발 질문
브로드캐스트 리시버 좀 봐주세요~ (5)
쎄미
2010.08.27
조회 3901
플랫폼 질문
Toast 같은 최상위 Window 생성방법 문의 (12)
invisiblebrick
2010.08.27
조회 28621
앱개발 질문
위젯 컨트롤 관련 질문입니다.
천재소녀
2010.08.27
조회 2758
앱개발 질문
불루투스 연결이 되다 안되다 합니다. (4)
까이꺼
2010.08.27
조회 5087
앱개발 질문
안드로이드에서 substring 사용하면 에러가 납니다; (3)
RyuMineUs
2010.08.27
조회 3686
기타 질문
DIP 가이드 변환
류엔
2010.08.27
조회 3640
앱개발 질문
해상도가 깨지네요ㅜ (1)
채야
2010.08.27
조회 2609
앱개발 질문
프로그램 아이콘에 알림 이미지 표시 방법 문의 (2)
rndmania
2010.08.27
조회 3418
조회 3153
앱개발 질문
에러 메시지 질문 (1)
미수타똥고
2010.08.27
조회 2556
기타 질문
안드로이드 480x800 픽셀단위 dip 변환방법 (2)
류엔
2010.08.27
조회 10185
앱개발 질문
xml 오류 (8)
미르79
2010.08.27
조회 2557
앱개발 질문
버튼으로 스크린키보드 효과 줄수 있나요?
행인1
2010.08.27
조회 3161
앱개발 질문
현재 어플상태 저장 - 전화왔을때, 알람 (1)
바비
2010.08.27
조회 3024
조회 3558
조회 3356
앱개발 질문
카메라 릴리즈 관련 질문입니다.(소스포함 끌어올림) (1)
go인조인간go
2010.08.27
조회 4132





XE Login

OpenID Login