android中的Package替換流程

2021-07-22 21:20:40 字數 1140 閱讀 5910

android系統在安裝,刪除,替換,清除資料等與應用相關的動作時,會發出對應的broadcast,上層的應用通過註冊相應的廣播事件來做相應的處理。

1,action_package_added

當有新的包安裝成功的時候,系統會發出此廣播

2,action_package_removed

當有包被解除安裝的時候,系統會發出此廣播

上面兩種廣播的用法,很多朋友也已經很熟悉,通過intent.getdata().getschemespecificpart();即可獲得對應的packagename

重點是

3,action_package_replaced

當有包被更新的時候,系統會發出此廣播

那麼是不是當包更新的時候,跟安裝和解除安裝類似,系統只發出乙個replaced廣播呢?

通過實踐以及sdk官方文件的介紹發現,當package發生替換動作的時候,系統會依次發出三條廣播:

action_package_removed

action_package_added

action_package_replaced(這三個訊息中包含的包名一樣)

那action_package_removed和action_package_added我怎麼知道後面會接著action_package_replaced這條廣播呢?

通過intent.getbooleanextra(intent.extra_replacing, false)我們可以獲得extra_replacing的值。

所以我們只需要在action_package_removed和action_package_added中通過intent.getbooleanextra(intent.extra_replacing, false)來得到這個action_package_removed和action_package_added是不是由覆蓋安裝產生的。

android中的package替換流程

精品內容獨家發布平台

呈現與部落格不一樣的技術乾貨

安裝centos後需要安裝的package

由於在公司使用的centos 7系統,所以在自己的電腦上安裝了虛擬機器,搭建了centos的系統,由於自己安裝的是minimal iso的版本,所以安裝好以後,好多命令不能使用,記錄下安裝自己需要的package的過程。yum install y net tools x86 64yum y inst...

ROS工作空間下建立乙個新的package

建立乙個包的最好方式是在catkin ws下 建立乙個 catkin package 1.先轉到catkin路徑下 cd catkin ws src2.用catkin create pkg 建立乙個新包 catkin create pkg beginner tutorials std msgs ro...

android開發中的

線性布局 linear layout 相對布局 relative layout 布局 table layout 網格檢視 grid view 標籤布局 tab layout 列表檢視 list view 絕對布局 absolutelayout 1.實現tab的效果必須使用tabhost控制項作為ta...