例如,如果用户单击检查更新,那么操作应该是..
- 检查我的应用程序在市场上的版本
- 如果我的应用程序的当前版本和市场版本不同,那么我只想给出一个“立即升级”对话框。
也想知道没有WebServices
这个aciton有没有可能?因为我已经参考了一些答案WebServices
,而不是有任何可能性,请分享您的知识。
提前致谢 :)
也想知道没有WebServices
这个aciton有没有可能?因为我已经参考了一些答案WebServices
,而不是有任何可能性,请分享您的知识。
提前致谢 :)
您无法获取 android market 应用程序的版本,我想解释一下...您可以使用以下代码获取应用程序的当前版本:
public int getAppVersion(Context context) {
try {
PackageInfo packageInfo = context.getPackageManager()
.getPackageInfo(context.getPackageName(), 0);
return packageInfo.versionCode;
} catch (PackageManager.NameNotFoundException e) {
// should never happen
throw new RuntimeException("Could not get package name: " + e);
}
}
如果你想知道有android市场的版本,那是不可能的,你需要考虑替代方案,webservice你怎么说......在我的例子中,我将Android Market的版本保存在我的服务器中,当我同步时我的应用程序和我的服务器我获得了 AndroidMarket 版本,然后在这一刻我可以比较版本并应用必要的代码,在你的情况下是 showDialog。
不存在可以从您的 android 应用市场获取版本的替代方案,为什么?这些应用程序有自己的代码,而不是所有应用程序的代码都相同......
告诉我,如果我帮助了你和良好的编程!
public String getLatestVersionNumber()
{
String versionNumber = "0.0.0";
try
{
Document doc = Jsoup.connect("<market:urlofparticularapp>").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;
}
从http://jsoup.org/download下载 Jsoup 库
据我所知,没有办法获得当前版本的市场应用程序。
但是我在我的应用程序中通过使用服务器来执行此操作。我正在将即将推出的应用程序版本放在服务器上并从应用程序获取当前的应用程序版本通过使用此代码
oldVersion = Splash.this.getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
当应用程序启动时,我们将从服务器获取版本并与旧用户的应用程序版本进行比较。如果版本不匹配,则使用此代码为应用程序提供更新弹出窗口
uri uri = Uri.parse("market://details?id=" + MainActivity.this.getPackageName());
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
try {
MainActivity.this.startActivity(goToMarket);
} catch (ActivityNotFoundException e) {
MainActivity.this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + MainActivity.this.getPackageName())));
}