마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

잠금화면 해제시 앱이 실행되게 하는 방법

0 추천

앱 개발을 하다가 막히는 부분이 있어서 질문드립니다.

지금 구현하려는 부분은 화면의 잠금을 해제할 때마다 자동으로 카메라를 작동시키는 부분입니다.

잠금해제 이벤트를 받기 위해서 BroadcastReciever를 상속받는(?) 클래스를 만들고

내부의 onRecieve 메소드 내에는 아래처럼 작성했습니다.

public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String name;
        name = intent.getAction();
        if(name == "android.intent.action.SCREEN_ON") {
            Log.d(TAG, "Event occured");
            mCamera = Camera.open(1);
            mCamera.takePicture(null, null, mPicture);
            mCamera.release();
            mCamera = null;
        }
    }

이렇게 하고 실제 기기에서

앱을 띄운 화면에서 화면을 껐다가 다시 켜서 잠금화면을 해제하면

이클립스에서 Log.d의 "Event occured"는 잘 잡는것 같은데

사진이 아예 안찍히네요...

왜이런건가요?? 답변 부탁드리겠습니다..

ricky1048576 (120 포인트) 님이 2014년 8월 26일 질문

2개의 답변

+1 추천
takePicture는 비동기메서드입니다

실행하자마자 찍히는게 아니고 초점도 잡고 찍고할 시간이 필요하죠

그런데 바로 release시키니 사진이 찍힐수 없겠죠

release를 콜백메서드 안으로 옮기세요
alkyne (22,960 포인트) 님이 2014년 8월 26일 답변
0 추천
보안상의 이유로 Preview 없이 사진을 찍는 것은 막혀있습니다.
익명사용자 님이 2014년 8월 27일 답변
...