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

카메라 사용시 전역 변수에 관해

–1 추천

카메라 촬영이 들어가는 앱을 개발 중입니다.

 

지정한 곳에 파일을 저장하고자

카메라 호출 할때 전역 변수파일 이름을 담아 두고

카메 화면을 호출하여 촬영하고 촬영뒤 전역변수에 담긴 파일이름을 이용하여 

화면에 뿌려주는 앱을 만들었습니다. 

근데 이게 갤2는 onActivityResult 이후에서도 전역 변수 값이 나오는데

다른기기(g2 등등..)에서는 이 전역 변수 값이 사라지는 현상이 발생합니다.

왜 나오는 기기도 있고 안나오는 기기도 있는지 잘 이해가 안되는데요

해결 방법이나 onActivityResult 이후에 파일이름을 전달 받을 수 있는 확실한 방법이 있으면 부탁드립니다.

 

소스 간략 설명

 

public class CameraActivity extends Activity {

    ....

    String mPath = "";

    ....

  public void mOnClick(View v) {

            mPath = "filepath";

            intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

            intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(mPath)));
            startActivityForResult(intent, CALL_CAMERA);

    }

    protected void onActivityResult (int requestCode, int resultCode, Intent data) { 
           Log.d("mPath:","mPath:"+mPath);   //여기서 일부단말에서 값이 없어 집니다.  
    }

}

 

감사합니다~

 

천지개원 (110 포인트) 님이 2014년 1월 24일 질문

1개의 답변

0 추천
로그는 찍히나요? 로그가 찍히지 않는다면 onActivityResult 메소드가 호출되지 않을 가능성이 있네요.

 

또하나 가능성은 안드로이드 설정의 개발자 옵션에서 Don't keep activities에 체크표시되어 있으면 해당 액티비티가 처음부터 다시 생성되어 mPath 값이 ""로 설정될 수 있겠네요.
방귀과장 (18,940 포인트) 님이 2014년 1월 24일 답변
...