您可以使用此 Android 库:https://github.com/danielemaddaluno/Android-Update-Checker。它旨在提供一种可重用的工具,用于异步检查应用商店中是否存在任何较新的已发布应用更新。它基于使用Jsoup(http://jsoup.org/)来测试是否确实存在解析Google Play商店上应用程序页面的新更新:
private boolean web_update(){
try {
String curVersion = applicationContext.getPackageManager().getPackageInfo(BuildConfig.APPLICATION_ID, 0).versionName;
String newVersion = curVersion;
newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID + "&hl=en")
.timeout(30000)
.userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
.referrer("http://www.google.com")
.get()
.select("div[itemprop=softwareVersion]")
.first()
.ownText();
return (value(curVersion) < value(newVersion)) ? true : false;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
并且作为“值”函数,则如下(如果值为 beetween 0-99,则有效):
private long value(String string) {
string = string.trim();
if( string.contains( "." )){
final int index = string.lastIndexOf( "." );
return value( string.substring( 0, index ))* 100 + value( string.substring( index + 1 ));
}
else {
return Long.valueOf( string );
}
}
如果您只想验证不匹配的 Beetween 版本,可以更改:
value(curVersion) < value(newVersion)
跟value(curVersion) != value(newVersion)