2013-11-25 5 views
1
내가 GDK를 사용하여 유리에 대한 응용 프로그램을 개발하고 있어요

을 여는하지만 카메라 의도구글 유리 GDK - 오류 카메라

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
startActivityForResult(intent, RESULT_FROM_CAMERA); 

를 시작하는 데 문제가 있어요 그리고 오류는 다음과 같습니다

11-24 19:21:30.925: E/StrictMode(591): class com.google.glass.camera.ApiTakePictureActivity; instances=2; limit=1 
11-24 19:21:30.925: E/StrictMode(591): android.os.StrictMode$InstanceCountViolation: class com.google.glass.camera.ApiTakePictureActivity; instances=2; limit=1 
11-24 19:21:30.925: E/StrictMode(591): at android.os.StrictMode.setClassInstanceLimit(StrictMode.java:1) 

하나를 암시? 마지막으로 나는했습니다

 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(intent, RESULT_FROM_CAMERA); 
+0

방금 ​​카메라 개발을 시작했고 같은 문제가 발생했습니다. 그걸 고칠 수 있었 니? –

+0

아니요. 아직 문제가 있습니다. 사진이 찍히고 저장되지만 앱이 충돌하고 onActivityResult가 호출되지 않습니다. 인 텐트를 시작할 때 사진 파일의 원하는 위치의 값으로 "output"엑스트라를 사용하고, 의도를 만들기 전에 FileObserver를 사용하여 onActivityResult를 무시하십시오. –

+0

내 경우에 충돌이 없지만 액세스 할 수 없습니다. 파일, 같은 adb에 파일을 확인하고 존재합니다. 내가 제안한대로 파일 이름을 지정해 보겠습니다. 감사! –

답변

0

:

-1

당신은 하나 개의 인스턴스가

instances=2; limit=1 
+0

카메라의 의도를 시작한 곳이 한 곳 있습니다. S –

0

내가 당신의 의도를 만들 때 android.provider.MediaStore에서 상수를 사용할 필요가 있다고 생각 열보다 더 갖고있는 것 같다 이것을 해결했다. 예외는 여전히 표시되지만 완벽하게 작동합니다. 여분의 "출력"을 사용하는 것은 카메라 의도에 의해 사용되지 않기 때문에 작동하지 않습니다. OnActivityResult가 호출되지 않아서 작동하지 않습니다 ... 내가 한 것은 onActivityResult를 무시하고 FileObserver를 사용하여 카메라 폴더를 지정하고 새 파일을 만들 때 이벤트를 기다리는 것입니다.

final File photoFolder=new File(Environment.getExternalStorageDirectory() + File.separator + "DCIM/Camera"); 
fileObserver = new FileObserver(photoFolder.getAbsolutePath(), FileObserver.CREATE) 
     { 
      @Override 
      public void onEvent(int event, final String path) 
      { 
       if(event == FileObserver.CREATE) 
       { 
        fileObserver.stopWatching(); 
        // Do whatever 
       } 
      } 
     }; 
     fileObserver.startWatching(); 
+0

고맙지 만, 해당 상수의 값이 "android.media.action.IMAGE_CAPTURE"이므로 아무 것도 변경하지 않을 것이라고 생각하십시오. –

+0

android.hardware.Camera 유형의 객체를 선언하고 camera.open()을 호출합니까? 그렇다면이 전화를 꺼내십시오. 위의 오류를 간단하게 포함하여 재현 할 수있었습니다. 내 코드는 그것 없이도 작동합니다. – Darren

+0

아니요, Camera 객체를 선언하지 않고 위의 두 줄만 사용하고 있습니다. S –

관련 문제