2011-04-09 81 views
1

我想攔截與一個廣播接收器的意圖,YouTube應用中,當視頻開始播放 - 我設法從日誌閱讀:Android:攔截Youtube意圖?

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 2011-04-09 19:56:13

+0

我試圖獲取視頻的下載網址,並通知我的應用程序 – Alex1987 2011-04-09 20:00:32

+0

爲了什麼目的?如果您希望自己的應用顯示爲打開YouTube網址的備用方式,則可以通過針對某個活動的意向過濾器來實現。還是你想要做別的事情? – adamp 2011-04-09 20:11:54

回答

2

如果您希望讓應用響應特定形成的HTTP網址(例如YouTube視頻網址),請設置一個意圖過濾器,用於定義您想要匹配的網址格式的<data> element,以響應ACTION_VIEW意圖。

Android使用ACTION_SEND意圖分享鏈接或照片等內容。你也可以讓你的應用程序響應共享鏈接。設置它與設置ACTION_VIEW意圖的意圖過濾器幾乎相同。

有關更多詳細信息,請參閱意向過濾器here上Android文檔的「數據測試」部分。

無論如何,除非應用程序發佈其他應用程序讀取的信息,否則沒有辦法在另一個第三方應用程序中「悄悄」窺探。上述兩種方法都會涉及用戶專門告訴系統使用您的應用來處理相關網址。第一種方式,用戶將首先選擇使用哪個應用程序來查看內容。第二種方式,用戶將不得不按下原始應用中的分享按鈕,並選擇分享鏈接到您的應用。

所有這一切都說,既然你提到了你要做的上面的事情,請尊重他人的版權。

+0

這樣做的一個示例:http://stackoverflow.com/questions/1609573/intercepting-links-from-the-browser-to-open-my-android-app/1609662#1609662 – LouieGeetoo 2011-09-14 00:40:39

2

您怎麼看?

當使用Intent開始活動時,您不能「截獲使用BroadcastReceiver的意圖」。

另外,在<intent-filter>中沒有<component>元件。

+0

如果YouTube視頻開始播放,有什麼方法可以通知我的應用程序嗎? – Alex1987 2011-04-09 19:59:41

+3

@ Alex1987:我當然希望不會。 – CommonsWare 2011-04-09 20:06:54

+1

除非Youtube應用程序在播放視頻時專門播放了意圖。 – 2011-04-09 20:41:40