Android 在play store上获取当前应用程序版本
我已经实现了在play store上获取当前应用程序版本的代码,这样每当play store上有新版本时,我就可以建议用户升级应用程序。这段代码运行得很好,但现在不起作用了 获取我使用的当前应用程序版本的代码如下:Android 在play store上获取当前应用程序版本,android,jsoup,Android,Jsoup,我已经实现了在play store上获取当前应用程序版本的代码,这样每当play store上有新版本时,我就可以建议用户升级应用程序。这段代码运行得很好,但现在不起作用了 获取我使用的当前应用程序版本的代码如下: newVersion=Jsoup.connect( "https://play.google.com/store/apps/details?id=" + “+”&hl=en”) .超时(30000) .用户代理( “Mozilla/5.0(Windows;U;WindowsNT 5
newVersion=Jsoup.connect(
"https://play.google.com/store/apps/details?id=" +
“+”&hl=en”)
.超时(30000)
.用户代理(
“Mozilla/5.0(Windows;U;WindowsNT 5.1;en-US;rv1.8.1.6)Gecko/20070725 Firefox/2.0.0.6”)
.推荐人(”http://www.google.com)获取()
.选择(“div[itemprop=softwareVersion]”。第一个()
.ownText()代码>此库基于JSoup来解析HTML
您想要的基本实现如下所示
private boolean web_update(){
try {
String curVersion = applicationContext.getPackageManager().getPackageInfo(package_name, 0).versionName;
String newVersion = curVersion;
newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + package_name + "&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;
}
}
private boolean web_update(){
试试{
String curVersion=applicationContext.getPackageManager().getPackageInfo(包名称,0).versionName;
字符串newVersion=曲线版本;
newVersion=Jsoup.connect(“https://play.google.com/store/apps/details?id=“+程序包名称+”&hl=en”)
.超时(30000)
.userAgent(“Mozilla/5.0(Windows;U;WindowsNT 5.1;en-US;rv1.8.1.6)Gecko/20070725 Firefox/2.0.0.6”)
.推荐人(”http://www.google.com")
.get()
.选择(“div[itemprop=softwareVersion]”)
.first()
.ownText();
返回(值(曲线版本)<值(新版本))?真:假;
}捕获(例外e){
e、 printStackTrace();
返回false;
}
}
如果只想验证版本之间的不匹配,可以更改:
value(曲线版本)
withvalue(曲线版本)!=值(新版本)
快乐编码我也有同样的问题,从这个问题中得到了jppavez的答案:
为我工作
替换
.select("div[itemprop=softwareVersion]")
.first()
.ownText();
与
编辑:
别忘了捕获RuntimeException,以防止在google再次更改Play Store的源代码时应用程序崩溃。
例如,与crashlytics crashreport结合使用:
} catch (RuntimeException e) {
Crashlytics.logException(e);
对我们有效的解决方案
.select("div:containsOwn(Current Version) + div")
.first()
.text();
实际上,我已经实现了与您建议的相同的功能,但现在它在jsoup.connect()…owntext.post logcat处给出了错误null指针异常,null指针是因为某些东西得到了null值
.select("div:containsOwn(Current Version) + div")
.first()
.text();