liushi 发表于 2022-5-29 14:36:07

怎样判断手机中是否安装过本apk,若已安装,怎样获取其...

怎样判断手机中是否安装过本apk,若已安装,怎样获取其版本号?
目的是在安装Apk时检测,若未安装过或版本比当前的低,则复制资源文件到手机,否则不复制,用原来的。

dkzabc 发表于 2022-5-29 16:05:28

安卓还没开始学,但是我记得,安卓APK包名必须是唯一的,在安装的时候就是以这个包名来判断是不是同一个软件,在安装时都会提示原版本号多少,新版本号多少,会有安装和取消的按钮让用户选择的。

edu 发表于 2022-5-29 17:34:14

相同版本会询问是否重装。
高于已装版本会提示升级。
低于已装版本会安装失败。
这是系统安装器判断的,不由你的程序控制。

创世魂 发表于 2022-5-29 18:36:44

这个是系统接管的。

liushi 发表于 2022-5-29 21:55:36

本帖最后由 liushi 于 2022-5-29 21:58 编辑

创世魂 发表于 2022-5-29 18:36
这个是系统接管的。
我是想要实现向手机中安装新版本APK的时候覆盖上一版本的那个资源文件夹(里面有SQLite库,表结构已改动);安装同一版本(实际上程序做了微调,只是版本号未改,SQLite库表结构未改动)APK的时候不覆盖那个文件夹,只更新程序;我现在无法获取手机中已安装APK的版本号,就不知道该不该覆盖。

fan15500 发表于 2022-5-29 22:13:27

liushi 发表于 2022-5-29 21:55
我是想要实现向手机中安装新版本APK的时候覆盖上一版本的那个资源文件夹(里面有SQLite库,表结构已改动) ...

这个只能你自己在程序里进行判断,如果当前程序的sqlite结构是没改变的,则运行哪一部分,改变的运行哪一部分。无法确定的时候,就只能新起名字。不进行覆盖操作。如果结构一样,顶多是复制之前的导入到新库里

liushi 发表于 2022-5-30 04:59:23

已用在资源文件夹里放一个TXT文件记录版本号的办法解决,谢谢各位啦!
页: [1]
查看完整版本: 怎样判断手机中是否安装过本apk,若已安装,怎样获取其...