標籤:bsp 啟動 lan apk 技術分享 text image 解析 傳遞
前段時間公司項目需要一個需求: 把第三方的app分享的資料接受到自己的apk中, 涉及到的第三方app是: Youtube/Amazon/NetFlix, 這些app通過分享功能把當前的資訊分享出去。廢話少說, 上代碼,
1. 首先在你的app的AndroidManifest.xml中加入紅色方框的代碼, 一定要是android.intent.action.MAIN的activity:
2. 然後在啟動的activity中加入如下的代碼:
3. 解析:
intent filter會告訴系統程式會打算接收什麼。就和前面講的如何用ACTION_SEND建立intent相似,建立intent filter來接收帶有這個操作的intent。在manifest中用<intent-filter>元素來來定義一個intent filter。例如,如果程式可接收文字,任何類型的單張圖片,或任何類型的多張圖片.
當其他程式通過建立intent然後傳遞給startActivity()來分享上面的類容,你的程式會在intent chooser列表中顯示,如果使用者選擇了你的程式,相應的activity(上面例子中的.ui.MyActivity)將會被啟動。然後就由你來在代碼和介面中來處理內容了.
要處理Intent傳遞的資料,首先調用getIntent()來獲得Intent對象。一旦獲得了這個對象,可以通過查看資料來決定接下來怎麼做。記住如果activity可以從系統的其他部分啟動,比如launcher,那麼需要在查看intent的時候考慮這些情況。
注意:要格外小心的檢查傳入的資料,你不知道其他程式傳進來什麼。例如,有可能設定了錯的MIME類型,或者圖片可能非常大。還要記住,在另外一個線程中處理位元據,而不是UI線程。
更新UI可以是像填充EditText一樣簡單,或者更難一些像在一張圖片上添加一個有趣的濾鏡。由你的程式來決定接下來會發生什麼。
我是第一次寫部落格, 寫的不好, 大家可以給出建議, 謝謝大家的指教.......
接受第三方app分享的資料