一些手機軟體不是使用者主動執行的,那麼它到底是如何自己執行起來的呢?接下來我們將簡單講講軟體自啟的方式和原理。(以下內容有些偏技術,讀起來可能有些晦澀)
不過在介紹之前,先要鋪墊一下:android四大基本元件分別是activity、service服務、content provider內容提供者以及broadcastreceiver廣播接收器,每個元件都是可以實現自啟的,那麼自啟的方式也就有以下4種方式:
通過開啟activity,實現自啟
通過廣播,實現自啟
通過服務,實現自啟
通過content provider,實現自啟
方式1,開啟activity實現自啟,某程式通過執行一段命令,通過直接開啟指定應用的activity的方式來實現。例如很多程式當手機連上電腦後,某些應用就直接被執行起來了。
舉例:通過執行adb shell am start com.sina.weibo/.maintabactivity 微博就可以被執行起來了。
方式2,通過廣播實現自啟,這種方式是目前最普遍的,也是使用最多的實現自啟的方式,當目標應用通過對指定的廣播註冊了receiver,該廣播觸發後,註冊了該廣播的應用就會被喚醒並執行起來,從而實現了自啟。具體點說,系統重啟後會傳送一條系統廣播給所有的應用,該廣播名稱為android.intent.action.boot_completed。有些應用註冊了該廣播的receiver,當應用收到了這條廣播後,就會自動執行起來。
舉例:確保手機上的weibo應用處於未執行的狀態,(在設定的應用程式管理中停止微博)執行以下命令。adb shell am broadcast -a android.intent.action.boot_completed -n com.sina.weibo/.bootcompletedreceiver 這時候你會發現微博應用已經在後台被執行起來了。
方式3,通過服務實現自啟,這種方式也很普遍,與第二種類似,也是在manifest裡面定義了服務,當這服務被執行後,相應的程序也會被執行起來。
舉例:確保手機上的weibo應用處於未執行的狀態,(在設定的應用程式管理中停止微博)執行以下命令。 am startservice -n com.sina.weibo/.business.weiboservice 你會發現微博應用也已經在後台被執行起來了。
方式4,通過註冊content provider實現自啟。也就是說,應用自己本身註冊了provider,當其他應用需要呼叫這個provider的時候,這個應用自己也就被執行起來了,從而實現了自啟。
舉例:手機**應用就註冊了如下provider com.taobao.tao.proxy.tblocationcontentproviderproxy 當這個provider被其他應用呼叫的時候,手機**也會自動執行起來。
我們簡單介紹了實現自啟的方式,那麼我們有沒有辦法去控制那些我們並不希望自動執行起來的應用,不去自啟呢?答案是肯定的,目前很多手機系統自帶的安全工具可以實現該功能,而且第三方安全類和工具類的應用也實現了對應用自啟的攔截。下面我們介紹一下第三方工具。包括:
haoxiaoru
手機軟體測試
手機作為專用的消費類電子產品需要進行以下測試 可靠性測試 對於硬體則是rqt 對於軟體則是field trial 標準符合性測試 fta 互操作性測試 iot 安全 性測試 安規測試 強度測試等。其中,有些種類的測試,例如fta,有嚴格的標準 gsm 3gpp等 來明確被測的功能點,測試人員 所要做...
手機軟體測試總結
乙個合格的手機軟體測試工程師要掌握的東西是很多很多的。在我個人理解中,乙個合格的高階手機軟體測試工程師應該具有最基本的兩點知識 軟體測試理論知識和一定的開發技能。1.軟體測試理論知識 這個不用多說,軟體測試工程師必須要掌握的,軟體測試如何融入整個開發的流程,什麼時候介入,什麼時候結束,如何搭建測試環...
手機軟體 3G讓手機軟體走上前台
中國運營商重組了,3g發牌了 運營商又推新業務了,手機廠商新品迭出,就連手機軟體培訓機構的課程更新速度也不是一般的快節奏 但使用者對此似乎並不感冒,因為他們最關心的是自己的手機用起來是否方便。業內人士表示,隨著3g的到來,手機軟體作為使用者體驗的介面的核心將成為焦點 手機軟體從幕後到前台。各方力挺手...