需求背景:
近來vip群里學員朋友有問道一個需求,大概需求就是他們做TV的Framework開發,想要遙控器有一個新定義的兒童節目按鍵,想要實現這個按鍵按下后就跳轉到兒童節目的Activity。
需求拆解及作業要求:
針對上面需求,其實要實現該需求主要分為以下幾個部分
1、按鍵部分,需要全局對事件進行監聽,而且可以處理相關的響應邏輯
2、需要考慮使用某種跨進程通訊方式,可以通知到兒童節目app的進程
3、需要考慮兒童節目app進程,接受到了按鍵事件后,需要考慮拉起Activity,注意這里有可能兒童節目app壓根沒有任何的可見窗口。
上面已經把該需求拆解完成,下面給大家布置以下的幾個作業要求:
1、針對按鍵事件的全局監聽和處理,建議大家可以采用2種方案進行實現,這里的兒童按鍵,大家可以使用其他現有按鍵進行模擬既可以
方案a:直接PhoneWindowManager中進行相關的事件的監聽和處理 (基本要求)
方案b:大家可以新學習一下GlobalKeyManager相關的源碼,參考系統本身自帶了global_key相關處理
2、按鍵事件接受后,需要可以冷啟動兒童節目app的Activity,注意可能兒童節目進程都可能沒有,更沒有可見Window
3、盡量減少對framework部分原生代碼部分的修改,減少這部分的耦合情況
上面3點屬于正常作業部分要求,如果都完成,有時間可以做一下第4點要求
4、進階部分:要在framework添加一個完全新的按鍵Key事件
更多framework實戰開發,關注下面“千里馬學框架”