在安卓原始碼裡面有很多的測試類的apk,是通過暗碼設計的。在公司開發的時候有時候就會遇到,忘記了暗碼的尷尬。那麼我們應該怎麼辦呢?
可以使用命令去開啟測試:
adb shell
am start -n ***xx/.someactivity
來啟動這個暗碼。甚至是對於沒有圖示的也可以這麼開啟。
手機的話是在**裡面去設計暗碼,而對於平板的話一般是在計算器裡面去設計暗碼。至於暗碼的規則是什麼,需要每個公司自己去設定。
那麼手機暗碼是怎麼新增:有兩類,規則的和不規則的。
不規則的使用先看看原始碼是怎麼處理:
關注handlechars()方法,
發現它的呼叫在:
那麼究竟做了什麼操作:
那麼設計它的方法就是:
對於一些*#*#***xx#*#*的設計:
這個要簡單很多:只需要處理相應的廣播就行了
從原始碼上看,它只是其中的一種特殊情況。
還有乙個問題就是:使用 am 開啟應用,有些是不被允許開啟的,為了保護廠商的利益,有時候我們需要設計特定的安全方案來規避,這個可以在activitymanagershellcommand裡面做出限定。
如果有一天做乙個別的服務,你會怎麼辦? adb shell am start -n ******x
am 是什麼又在**?看到這裡大家是不是有思路了!!
使用Intent啟動Activity
intent 的最常用的用途是繫結應用程式元件。intent 用來在應用程式的 activity 間啟動 停止和傳輸。這一章節中關於啟動新的 activity 的提示,也同樣適用於 service。第8 章可以了解到關於啟動 和建立 service 的細節。為了開啟應用程式中不同的畫面 activi...
使用Intent啟動Activity
intent 的最常用的用途是繫結應用程式元件。intent 用來在應用程式的 activity 間啟動 停止和傳輸。這一章節中關於啟動新的 activity 的提示,也同樣適用於 service。第8 章可以了解到關於啟動 和建立 service 的細節。為了開啟應用程式中不同的畫面 activi...
Shell命令 使用命令
shell命令的基本格式為 command option argumentsoption一般是連字元 加上單個字元,多個這樣的短選項可以寫在一起,如ls lt,很多命令也支援兩個連字元 的長選項,如ls a等價於ls all。多條命令可以寫在一行,使用分號 分隔 預設情況下,傳入給命令的引數會進行單...