注意我是自己的app安装更新完成以后,不是监听第三方的
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
是這樣的,一般而言,第三方app安裝的流程是首先用戶或其他應用觸發sdcard上原始的apk檔案進行安裝,系統的安裝流程會將apk 拷貝到/data/app目錄下進行安裝,而這個路徑可被所有應用程式查詢。所謂的系統重啟, 一部分工作就是重新安裝/data/app目錄下的所有應用。所以如果樓主想刪除,基本上等於把自己的app卸載了。
當然,您可以監聽app的安裝,刪除sdcard上原始的apk檔案。
需要滿足兩點:1.你的app需要安裝完更新後被啟動2.你需要知道apk的路徑
如果是自動更新的話,你自己一定能控製檔案下載位置。 那麼既然能自己控製檔案下載位置,那麼去刪除一個指定位置的檔案也就很容易了。
不知道困難在哪裡,也許是我遺漏了什麼困難?
新版本都有首次啟動的tag(用於引導頁之類的),用它去控制是否是第一次安裝的該版本。然後按照樓上的方法刪除。
監聽系統的應用安裝或更新廣播最後一行是一定要加的, 然後從獲得的Intent中提取出package信息,intent.getDataString (),看看是不是你的,然後再去刪除就可以了
是這樣的,一般而言,第三方app安裝的流程是首先用戶或其他應用觸發sdcard上原始的apk檔案進行安裝,系統的安裝流程會將apk 拷貝到/data/app目錄下進行安裝,而這個路徑可被所有應用程式查詢。所謂的系統重啟, 一部分工作就是重新安裝/data/app目錄下的所有應用。所以如果樓主想刪除,基本上等於把自己的app卸載了。
當然,您可以監聽app的安裝,刪除sdcard上原始的apk檔案。
需要滿足兩點:
1.你的app需要安裝完更新後被啟動
2.你需要知道apk的路徑
如果是自動更新的話,你自己一定能控製檔案下載位置。
那麼既然能自己控製檔案下載位置,那麼去刪除一個指定位置的檔案也就很容易了。
不知道困難在哪裡,也許是我遺漏了什麼困難?
新版本都有首次啟動的tag(用於引導頁之類的),用它去控制是否是第一次安裝的該版本。然後按照樓上的方法刪除。
監聽系統的應用安裝或更新廣播
最後一行是一定要加的, 然後從獲得的Intent中提取出package信息,intent.getDataString (),看看是不是你的,然後再去刪除就可以了