注意我是自己的app安装更新完成以后,不是监听第三方的
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
是这样的,一般而言,第三方app安装的流程是首先用户或者其他应用触发sdcard上原始的apk文件进行安装,系统的安装流程会将apk 拷贝到/data/app目录下进行安装,并且这个路径可被所有应用查询。所谓的系统重启, 一部分工作就是重新安装/data/app目录下的所有应用。所以如果楼主想删除,基本上等于把自己的app卸载掉了。
当然,您可以监听app的安装,删除sdcard上原始的apk文件。
需要满足两点:1.你的app需要安装完更新后被启动2.你需要知道apk的路径
如果是自动更新的话,你自己肯定能控制文件下载位置。那么既然能自己控制文件下载位置,那么去删除一个指定位置的文件也就很容易了。
不知道难点在哪里,也许是我遗漏了什么难点?
新版本都有首次启动的tag(用于引导页之类的),用它去控制是否是第一次安装的该版本。然后按照楼上的方法进行删除。
监听系统的应用安装或者更新广播<action android:name="android.intent.action.PACKAGE_ADDED" /><action android:name="android.intent.action.PACKAGE_REPLACED" /><action android:name="android.intent.action.PACKAGE_REMOVED" /><data android:scheme="package" />最后一行是一定要加的, 然后从获得的Intent中提取出package信息,intent.getDataString(),看看是不是你的,然后再去删除就可以了
是这样的,一般而言,第三方app安装的流程是首先用户或者其他应用触发sdcard上原始的apk文件进行安装,系统的安装流程会将apk 拷贝到/data/app目录下进行安装,并且这个路径可被所有应用查询。所谓的系统重启, 一部分工作就是重新安装/data/app目录下的所有应用。所以如果楼主想删除,基本上等于把自己的app卸载掉了。
当然,您可以监听app的安装,删除sdcard上原始的apk文件。
需要满足两点:
1.你的app需要安装完更新后被启动
2.你需要知道apk的路径
如果是自动更新的话,你自己肯定能控制文件下载位置。
那么既然能自己控制文件下载位置,那么去删除一个指定位置的文件也就很容易了。
不知道难点在哪里,也许是我遗漏了什么难点?
新版本都有首次启动的tag(用于引导页之类的),用它去控制是否是第一次安装的该版本。然后按照楼上的方法进行删除。
监听系统的应用安装或者更新广播
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
最后一行是一定要加的, 然后从获得的Intent中提取出package信息,intent.getDataString(),看看是不是你的,然后再去删除就可以了