Android APP要发布新版本了,可是这次增加了引导页,可我想在下次更新的时候,引导页就不出来啦。
我的实现方式是利用SharedPreferences记录是否首次打开,是的话就打开引导页。
可是没有地方记录是否更新了呀:::
思考方法一:数据库有更新方法
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
此方法的弊端是需要在程序启动的时候,创建 SQLiteOpenHelper的实现实例,才能调用这个方法,并且每次更新都得改数据库版本号,得不偿失
思考方法二:好像有一个叫做安装、卸载广播
呵呵~~ 原来被安装和卸载的程序收不到,徒劳啊。
辗转找了好久,没有找到合适的方法,原来我忽略了一个细节,我以为app更新会有自动调用的地方,也许是我还没找到(请找打的大侠不吝赐教~)。
实现方法:
也还是用到SharedPreferences,这个是app更新不会清除的,所以我们可以把版本号存进来。
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
packageInfo.versionCode
在 application的oncreate方法中用新的版本号和老的版本号对比,对不上就把是否首次启动的值设置为false,并将版本号存在SharedPreferences中,即可达到这个目的了。
原来可以这样简单的实现啊。绕了一个大弯哦!!