今天同事給了我一個需求妆距,是這樣的穷遂,手機(jī)本身是有打開最近任務(wù)的功能的,比如說娱据,按一下菜單鍵蚪黑,也就是大部分手機(jī)home鍵的左邊,也可以通過雙擊home鍵中剩,也可以長按home鍵忌穿,反正每個手機(jī)廠商多多少少都有點(diǎn)區(qū)別。那么他的手機(jī)是通過雙擊home鍵彈出這個一個頁面的结啼,他不喜歡通過這個方式掠剑,而是希望通過打開一個app,然后彈出這樣的頁面(最近任務(wù))郊愧。
方案一:app直接打開朴译,然后調(diào)用StatusBarManagerService的toggleRecentApps方法;需要通過反射來調(diào)用属铁,這樣做有一個小細(xì)節(jié)眠寿,就是,這個app的屬性需要加一個excludeFromRecents焦蘑,讓這個app本身不在最近任務(wù)列表中盯拱。然后打開app后,在oncreate中直接調(diào)用toggleRecentApps方法喇肋,然后立刻finish坟乾,關(guān)閉activity。這里要注意下蝶防,就是需要把a(bǔ)ctivity設(shè)置成透明的甚侣,否則會黑屏的閃一下,體驗(yàn)不好间学。
demo地址:http://download.csdn.net/detail/xiaodousa/9677623殷费,當(dāng)然印荔,是不收積分的。
方案二:通過桌面部件打開详羡,這個方案仍律,我自己手機(jī)測試,是通過的实柠,但是由于他的手機(jī)不支持桌面部件水泉,也沒有測試(大家是不是猜到了這是什么手機(jī)啦)。主要思想就是窒盐,生成一個桌面部件草则,然后給部件增加點(diǎn)擊事件,當(dāng)然如果點(diǎn)擊事件是繼續(xù)跳轉(zhuǎn)到一個activity就沒有意義了蟹漓,和方案一就一樣了炕横。所以我把點(diǎn)擊事件改成了,發(fā)一個廣播葡粒,自己來接受份殿,然后執(zhí)行StatusBarManagerService的toggleRecentApps方法。我貼出主要代碼吧嗽交。
以上