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

설치되어있는 비디오 어플 목록을 불러와서 선택하는 소스

0 추천

제 앱에 '비디오'라는 메뉴가 있고, 이 버튼을 누르면 기기에 설치되어있는 동영상 재생 가능한 어플 목록을 불러와서 사용자에게 선택해 실행하도록 하는 소스를 짜고 있습니다.

사용 코드는 다음과 같습니다.

button = (Button)findViewById(R.id.Button);
        button.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(Intent.ACTION_VIEW);
				intent.setType("video/*");
				startActivity(intent);
			}
		});

 

일단 설치되어있는 비디오 어플 목록을 띄우고, 선택해서 어플을 실행하는 것 까진 되는데 문제가 조금 있습니다.

우선, 안드로이드에 기본 설치되어있는 갤러리 어플이 목록에 뜨지 않습니다.
파일 탐색기 같은 어플로 기기에 있는 동영상을 선택하면 제가 추가로 설치한 동영상 플레이어 어플 외에도 기본적으로 설치되어있는 갤러리 어플도 같이 목록에 뜨는데, 위 소스를 넣은 어플은 기본 갤러리 어플이 뜨지 않고 제가 추가로 설치한 어플만 실행이 됩니다.

또, 추가로 설치한 동영상 플레이어가 없을 경우, 어플이 죽어버립니다.
'TestAPP을 중단합니다' 창과 함께 어플이 죽어버리네요.

이 현상에 대해 조언을 주실 분 있으면 도움 부탁드립니다.

아이시네프 (520 포인트) 님이 2014년 6월 2일 질문

1개의 답변

0 추천
 
채택된 답변
1. 갤러리앱으로 해당 동영상 재생이 가능한가요? (파일 탐색기가 잘못 동작하는 것일 수 있습니다.)

2. 2가지 방법이 있습니다.

2.1. intent 날리는 부분을 try catch로 감싼다.

2.2 intent 날리기 전에 해당 기능이 있는 앱이 있는지 검사한다. (관련 api는 구글링하면 나옵니다.)
익명사용자 님이 2014년 6월 2일 답변
아이시네프님이 2014년 6월 2일 채택됨
1번에 대한 가능성은 생각해보지 않았었는데..감사합니다. 갤러리 앱이 실행되지만 실제 동작은 제대로 되지 않고 있었습니다.
2번 항목을 보고 검색한 결과 아래 주소를 참고해서 실행 가능한 앱이 없는 경우에도 충돌이 나지 않도록 수정할 수 있었습니다.
많은 도움 감사합니다!

참고 주소 : http://goo.gl/vm3Lxd
...