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

제조사별 내장 카메라 문의 드립니다.

0 추천

안녕하세요^^;

잠금 상태에서 내장된 카메라 어플을 실행할려고

Intent i = new Intent("android.media.action.STIL_IMAGE_CAMERA_SECURE");

startActivity(i);

이렇게 호출을 했습니다.

삼성, 엘지폰에서는 이상없는데 베가 폰은 에러 납니다.

베가 폰이 있으면 에러 로그라도 봤을텐데 폰이 없어서 정확하게 어떤 오류인지 모르겠습니다 ㅠㅠ

제 어플이 마켓에 등록된 상태인데 댓글에 베가폰 카메라 오류난다고 해서요 ㅋㅋ

혹시 베가폰 있으신분 테스트좀 부탁드리겠습니다^^;

그냥 버튼 하나 있고 버튼 누르면 카메라를 호출하는 아주 간단한겁니다 ㅠㅠ

단지 잠금화면 위에 제가 만든 어플이 있다는거 밖에 없는데 

베가폰이 저러면 삼성,엘지 말고 다른 제조사 폰들에서 오류가 날수 있겠내요?? ㄷㄷ

선배님들은 어떻게 처리를 했는지 궁금하내요...

....

@Override
protected void onCreate(Bundle savedInstanceState) {
// 기본 lock 어플 위에 화면을 띄움
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
setContentView(R.layout.activity_main);

....

ImageButton cameraIcon = (ImageButton) findViewById(R.id.cameraIcon);

// 카메라
cameraIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent intentCamera = null;
intentCamera = new Intent(
"android.media.action.STILL_IMAGE_CAMERA_SECURE");
intentCamera.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intentCamera);
 
} catch (Exception e) {
e.printStackTrace();
}
}
});

......

AndroidManifest.xml

<!-- 잠금장치 -->
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
울트라짱가 (180 포인트) 님이 2014년 5월 30일 질문
울트라짱가님이 2014년 6월 13일 수정

1개의 답변

0 추천

android.media.action.STIL_IMAGE_CAMERA_SECURE

저도 처음 보는 거라 실행 해보았지만 겔럭시 입니다만 오류가 납니다~!

해당 문자는 어디서 알아내신건지 알려주시면 감사하겠습니다~!

그리고 내장 카메라 호출은

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

요로코롬 합니다~!

ThisPlus (46,920 포인트) 님이 2014년 5월 30일 답변
앗 죄송합니다. 오타입니다 ㅠㅠ
android.media.action.STILL_IMAGE_CAMERA_SECURE
이거 입니다. ㅋㅋ
보통 카메라 호출은 MediaStore.ACTION_IMAGE_CAPTURE 이게 맞습니다. 그렇지만 저희 어플은 잠금화면 위에 있는 어플이라 잠금 암호  해제 없이 바로 촬영을 해야 할 때는
android.media.action.STILL_IMAGE_CAMERA_SECURE 이렇게 해줘야지 가능힙니다. 물론 갤러리 접근을 하려면 잠금 암호를 해제를 해야지 접근 가능합니다.
죄송하지만 다시 한번만 부탁드리겠습니다^^;
머 일단 저도 해당 디바이스는 소지 하고 있지 않으므로 정확한 테스트는 하지 못하지만...
디바이스에서 오류가 날 가능성은 2가지네요~!
FLAG_DISMISS_KEYGUARD
요놈이 몇몇 디바이스에서 오루를 뿜는다고 합니다~!
물론 해결책은 있습니다~!
또 한가지는 android.media.action.STILL_IMAGE_CAMERA_SECURE
베가에서 해당 인텐트를 사용하지 않았을 가능성도 있습니다.
이부분은 어떻게 해결할 방법이 없네요~~~!
하지만 제가 언급해드린 FLAG_DISMISS_KEYGUARD사용 외에
KeyguardManager를 사용하여 잠금화면을 풀수 있습니다~!
해당 메니저를 사용하시면 MediaStore.ACTION_IMAGE_CAPTURE
호출로도 기본 카메라가 잘 실행 되네요~~!
요지는 잠금화면 푸는 소스를 KeyguardManager를 이용하여 풀어주시고
카메라 호출 부분을 작성자 님이 호출하신 방법이 아닌 일반적인 방법을 택하시면 오류는 해결이 될걸로 보여집니다~~!
답변 감사합니다^^;
KeyguardManager 이걸 사용해서 소스단에서 잠금을 해제를 하고
카메라를 호출했을때 보안상에 문제가 있지습니다. 알림이라고 해야하나요? notification 영역에 알림이 와있을 경우 클릭을 하면 해당 어플로 바로 접근이 가능합니다.
혹시 막을수 있는 방법이 있나요???
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
이미 작성자 님도 해당 소스를 사용 하셨기에 보안 부분은 상관이 없으신걸로 간주하고 말씀드린 겁니다~!
그리고 노티를 이용한 어플 이동을 막을 방법은 없습니다~!
결국 팬택에 문의 메일 보냈습니다 ㅋㅋ 답변이 올지는 모르겠내요 ㅠㅠ
답변 오면 댓글 남기도록 하겠습니다.
아무쪼록 답변 감사합니다^_________^
팬택에서 답변이 왔습니다. ㅋㅋ 결론은 팬택은 서비스 제공을 안해준다고 하내요 ㅠㅠ

안녕하세요. 고객님
이전 문의주신 사항에 재답변 드리도록 하겠습니다.
먼저, 답변이 늦어진 점 양해부탁드립니다.
VEGA Secret Note 모델의 제조사 카메라에서는
android.media.action.STILL_IMAGE_CAMERA_SECURE lntent를 handling 하고 있지
않아서 exception 이 발생하여 카메라가 실행되지 않습니다.
해당 lntent는 카메라 앱 마다 필요성에 의해 선택할 수 있으나 문의주신 이슈의 경우처럼
마켓 앱과의 호환성을 위해서 지원되는 것이 좋다고 보여져서 추후 버전에서 잠금화면에서도 실행 가능하도록 수정할 예정이라고 하오니 이 점 참고하여 주시기 바랍니다.
감사합니다.
...