如果我的应用的现有用户使用旧版本的应用,我如何阻止其访问我的数据库?或者有没有其他选择让他们升级到最新版本?
答案 0 :(得分:0)
由于您知道应用的当前版本,因此您只需检查已安装应用的版本并采取相应措施():
int installedVersion;
try {
installedVersion = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (installedVersion < 10 ){ // assuming your production version is 10
// show a dialog to upgra or do something else, without accessing the database
}else{
// the user has the latest version installed, access database normally
}
答案 1 :(得分:0)
如果某个标头值不存在,请让您的API返回错误代码。必须在应用程序的即将发布和未来版本中设置此标头值。
问题是如果您现有的应用程序没有通过显示相应的错误消息来处理错误代码,则不能让您的API返回错误代码为-1,并且错误消息“请更新到新应用程序”。在这种情况下,您可能会疏远当前用户。
答案 2 :(得分:0)
int currVer;
try { currVer = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode; }
catch (Exception e) { }
if(currVer<3) { ActivityClass.this.finish(); }
如果当前版本低于您尝试并且将阻止它工作,这将捕获。 您还可以添加Toast反馈
Toast.makeText(getApplicationContext(), "Version is too older", Toast.LENGTH_SHORT);