还想知道这个aciton没有WebServices
的可能吗?因为我已经用WebServices
引用了一些答案,而不是有任何可能性,请分享您的知识。
提前致谢:)
答案 0 :(得分:0)
你无法获得Android市场应用程序的版本,我想解释一下......你可以使用以下代码获得当前版本的应用程序:
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应用程序市场获取版本的替代方案,为什么?应用程序有他们的代码,而不是所有应用程序的代码相同......
告诉我,如果我帮助你并做好编程!
答案 1 :(得分:0)
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;
}
下载Jsoup图书馆
答案 2 :(得分:-1)
据我所知,没有办法获得当前版本的市场应用程序。
但我正在使用服务器在我的应用程序中这样做。 我将即将推出的应用版本放在服务器上并从应用程序获取当前的应用程序版本使用此代码
main()
当应用程序启动时,我们将从服务器获取版本并与旧用户的应用程序版本进行比较。如果版本不匹配,则使用此代码为应用程序提供更新弹出窗口
Uri uri = Uri.parse(“market:// details?id =”+ MainActivity.this.getPackageName());
oldVersion = Splash.this.getPackageManager().getPackageInfo(getPackageName(), 0).versionName;