2011-04-09 2 views
1

나는 YouTube 앱에서하는 브로드 캐스트 리시버와 의도를 차단하고 싶습니다 - 나는 로그에서이 글을 읽을 관리 : 나는 매니페스트에이를 추가하려고Android : 가로 채기 Youtube intents? 비디오 재생 시작시

Starting: Intent { cmp=com.google.android.youtube/.WatchActivity (has extras) } from pid 18710 

:

<intent-filter> 
     <component android:name="com.google.android.youtube/.WatchActivity"/> 

     </intent-filter> 

하지만 작동하지 않았습니다.

당신은 어떻게 생각하십니까?

+0

무엇을하려합니까? – adamp

+0

나는 비디오의 다운로드 URL을 얻으려고 애 쓰고 내 앱에 알린다 – Alex1987

+0

어떤 목적으로? 앱을 YouTube URL을 여는 다른 방법으로 표시하려면 활동의 의도 필터를 사용하여이를 수행 할 수 있습니다. 아니면 다른 것을하려고하십니까? – adamp

답변

2

앱이 YouTube 동영상 URL과 같이 특별히 구성된 HTTP URL에 응답하게하려면 일치시킬 URL 패턴을 정의하는 <data> element과 함께 ACTION_VIEW 인 텐트에 응답하는 인 텐트 필터를 설정하십시오.

Android는 ACTION_SEND 의도를 사용하여 링크 나 사진 같은 것을 공유합니다. 공유 링크에 앱을 응답하게 할 수도 있습니다. 이를 설정하는 것은 ACTION_VIEW 인 텐트에 대한 인 텐트 필터를 설정하는 것과 거의 같습니다.

자세한 내용은 의도 필터 here에 대한 Android 설명서의 "데이터 테스트"섹션을 참조하십시오.

다른 방법으로는 다른 앱이 읽을 수있는 정보를 게시하지 않는 한 다른 타사 앱에 자동으로 스파이웨어를 보내는 방법이 없습니다. 위의 두 가지 방법 모두 사용자가 앱에서 문제의 URL을 처리하도록 구체적으로 말한 것입니다. 첫 번째 방법은 사용자가 처음에 콘텐츠를 볼 때 사용할 앱을 선택하는 것입니다. 두 번째 방법은 사용자가 원래 앱에서 공유 버튼을 눌러 앱에 대한 링크를 공유하도록 선택해야합니다.

위의 모든 내용에 대해 언급 했으므로 다른 사람들의 저작권을 존중 해주십시오.

+0

이 작업의 예 : http://stackoverflow.com/questions/1609573/intercepting-links-from-the-browser-to-open-my-android-app/1609662#1609662 – LouieGeetoo

2

당신은 어떻게 생각하십니까?

Intent이 활동을 시작하는 데 사용될 때 "BroadcastReceiver와 의도를 가로 채기"할 수 없습니다.

또한 <intent-filter>에는 <component> 요소가 없습니다.

+0

YouTube 동영상이 재생되기 시작하면 내 앱에 알릴 방법이 있습니까? – Alex1987

+3

@ Alex1987 : 나는 확실히 희망하지 않습니다. – CommonsWare

+1

동영상을 재생할 때 YouTube 앱이 인 텐트를 특별히 브로드 캐스트하지 않는 한 허용되지 않습니다. –