原創(chuàng)作者:AchillesL
若轉(zhuǎn)載文章撞鹉,請?jiān)诿黠@的位置標(biāo)明文章出處
1. 前言
??小米5可以用NFC公交卡直接刷公交和地鐵,非常方便余黎,唯一美中不足的地方是:
??需要在鎖屏/黑屏的情況下重窟,長按音量下鍵或者雙擊Home鍵,才能呼出公交卡界面惧财。
??有一個(gè)情景:那如果我在需要刷公交卡時(shí)巡扇,已經(jīng)進(jìn)入了桌面,那我就必須先按關(guān)機(jī)鍵鎖屏垮衷,再長按音量下鍵厅翔,才能呼出公交卡界面,有強(qiáng)迫癥的人表示傷不起搀突。
??既然這樣刀闷,我們可以自己寫個(gè)小程序呼出公交卡界面。
2. 查看公交卡界面的相關(guān)信息
??先呼出羊城通界面仰迁,然后用adb命令查看頂級Activity的相關(guān)信息甸昏。
??adb 命令:
adb shell ddumpsys activity activities
??可見信息如圖1下:
通過截圖,可以得到以下信息:
a. 包名:
com.miui.tsmclient
b. activity:
com.miui.tsmclient.ui.quick.DoubleClickActivity
其中還有action徐许,flag等一些信息筒扒。
2. 寫自己的APP
a. 新建Activity
??如圖2所示,很簡單地绊寻,按照我們用adb查到的信息花墩,構(gòu)造一個(gè)Intent,然后通過startActivity調(diào)用澄步,然后退出程序冰蘑。
b. 修改小問題
??不過這樣做會出現(xiàn)一個(gè)問題:我們點(diǎn)擊app的時(shí)候,會出現(xiàn)一閃然后退出的情況村缸。這個(gè)問題可以通過修改一下theme來解決祠肥,我們希望這個(gè)Activity不顯示,如圖3所示梯皿。
3. 在手機(jī)中調(diào)用APP
??到這里仇箱,APP已經(jīng)寫好县恕,怎么才能更方便地調(diào)用呢?我打算把它放入小米的懸浮按鈕里面剂桥,如圖4所示忠烛。
4. 效果
??點(diǎn)擊懸浮按鈕,此時(shí)就能進(jìn)入公交卡頁面权逗。
5. 后續(xù)優(yōu)化
??后來有網(wǎng)友提醒美尸,本文最后實(shí)現(xiàn)的效果,還需要點(diǎn)擊一下卡面斟薇,才能刷公交卡师坎。若想省去這一步,在Intent加入特定鍵值對就可以了堪滨。
intent.putExtra("event_source", "key_volume_down");