2012-05-03 2 views
0

나는 현재 Android에서 webview를 가지고 있습니다.
그러나 웹보기 등등 특정 유튜브/플래시 비디오가 포함 된 URL, MP3의, 또는 MP4의, 3GP의 등을 표시 할 수 없습니다입니다 ....android의 http urls로 전화 걸기

내부 응용 프로그램이 그 형식을 재생할 수 있다면 가능 확인하는 것입니다.
I.E. URL이 YouTube 동영상으로 전달되면 YouTube 앱 (사용 가능한 경우)을 시작하거나 url이 mp3 비디오로 전달되면 음악 플레이어로 전달합니다.

처리 될 url은 외부 json에서 전송되므로 가변적입니다.

URL이 단순한 웹 페이지 (웹 브라우저를 제외한 모든 응용 프로그램을 처리 할 수없는 경우) 인 경우 웹보기에 표시되어야합니다.

나는 arround를 탐색하고 난이 시작 내놓았다 :

String url = "url here for example youtube.com/watch?v=....."; 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse(url)); 
startActivity(i); 

내가 위의이 부분을 테스트 할 수 없습니다, 그러나이 snipet에 빠진 것은 URL이 단순한 경우 것이있다 웹 페이지에서 웹 브라우저를 시작하고 싶지는 않지만 간단하게 웹보기에 표시하고 싶습니다. 사전에

감사합니다,

+0

나는 내가 답을 찾은 것 같아 : [queryIntentActivities] (http://developer.android.com/reference/android/content/pm/PackageManager.html) 이를 : 은 안드로이드 패키지 매니저는 방법이있다 메소드는 Action_VIEW에 주어진 URL을 청취 할 수있는 가능한 활동을 리턴합니다. 메서드가 웹 브라우저 만 반환하는 경우 웹보기에서 활동을 표시합니다. –

답변

1

당신은 당신의 웹보기에 WebViewClient을 설정하고 shouldOverrideUrlLoading 방법을 ovveride 수 있습니다. URL이 .mp3 (특정 형식)로 끝나면 인 텐트를 시작하거나 onReceivedError 메서드를 무시하고 오류를 처리합니다.

+0

응답 해 주셔서 감사합니다.하지만 가능한 모든 URL을 보내고 싶습니다. if 문을 할당 할 수 있습니다.) 많은 URL 유형이 있지만 오픈 소스 응용 프로그램에서 작업 중이므로 깨끗한 해결책이 있다면 더 좋을 것입니다 :) –