我希望能够在应用程序启动时将正在运行的版本与当前在 Google Play 上的相同应用程序版本进行比较。
我找到了一个很好的方法,描述了 here :
public String getLatestVersionNumber() {
String versionNumber = "0.0.0";
try {
Document doc = Jsoup.connect("http://www.appbrain.com/app/wallpaper-switch/com.mlevit.wallpaperswitch").get();
Elements changeLog = doc.select("div.clDesc");
for (Element div : changeLog) {
String divText = div.text();
if (divText.contains("Version")) {
return divText.split(" ")[1];
}
}
}
catch (IOException e) {
e.printStackTrace();
}
return versionNumber;
}
但它太慢了,严重影响了应用程序启动时的用户体验。
有没有一种更快的方法来查询应用程序在 Google Play 上的当前版本?
也许是一些隐藏的 LVL 或应用内结算 API?
最佳答案
Are you sure there isn't any API that provides the Google Play version much faster?
嗯,顾名思义,网络访问速度很慢。即使 Google Play 有一个记录的、受支持的和许可的 API(在撰写本文时他们还没有),它也只会比您正在做的事情快一点。
Can you post your suggestion on how to do that via AsyncTask?
第 1 步:创建文件。
第 2 步:在该文件中,输入您的版本号,还可以选择以某种格式(例如 JSON)输入其他数据(例如,更新说明)。
第 3 步:将该文件上传到某个众所周知的稳定 URL。
第 4 步:创建一个 AsyncTask
,将文件的 HTTP 请求放入 AsyncTask
的 doInBackground()
中,同时更新您的同一 AsyncTask
的 onPostExecute()
中的 UI(最好通过一些非模态)。
Here is a sample project演示一个 AsyncTask
执行 HTTP 操作(从美国国家气象局提取天气预报)并解析结果,完成后更新 UI(填充 WebView
)。
关于android - 在 Google Play 上查询应用程序当前版本的更快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11925945/