在我的应用程序中,我想检查应用程序商店中是否有我的应用程序的任何更新版本.如果有,则必须通过警报消息通知用户,如果他/她选择升级我想更新新版本.我想通过我的应用程序完成所有这些.这可能吗?
Ahm*_*lan 13
我有同样的问题,但它由JSOUP库解决.这是图书馆下载链接:http://jsoup.org/download
String 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();
Log.e("new Version", newVersion);
Run Code Online (Sandbox Code Playgroud)
Google不提供任何API.
不过,您可以在Playstore的网络版上发出http请求(https://play.google.com/store/apps/details?id=your.namespace)
要发出请求,您可以使用DefaultHttpClient
获得页面内容后,您应该解析它(jsoup是一个很好的解决方案)并搜索:
<div class="content" itemprop="softwareVersion"> 2.2.0 </div>
Run Code Online (Sandbox Code Playgroud)
找到页面的这一部分后,您可以提取版本号并将其与应用中可用的版本号进行比较:
try
{
String version = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName;
if( ! version.equals(versionFromHTML))
{
Toast.makeText(this, "New version available on play store", Toast.LENGTH_SHORT);
}
}
catch (NameNotFoundException e)
{
//No version do something
}
Run Code Online (Sandbox Code Playgroud)
对于HTML解析部分,请看这里
请记住,每个人都不会在同一时间看到新版本.传播可能需要一些时间(可能是因为缓存).
| 归档时间: |
|
| 查看次数: |
28931 次 |
| 最近记录: |