我正在比较Google Play商店中的应用版本和Play商店中的应用版本。因此,每当新版本的应用程序上传时,它会向用户显示对话框以更新应用程序,但是当我点击"更新按钮"在对话框中,它打开游戏商店"打开"和#34;卸载"按钮代替"更新"和#34;卸载"按钮。
所以请告诉我如何使用"更新"打开Play商店应用。和#34;卸载"在Play商店上传新版本时按钮。
这是我打开游戏商店的代码。
AlertDialog.Builder dialogUpdate= new AlertDialog.Builder(Main_list_Activity.this,AlertDialog.THEME_TRADITIONAL).setTitle("New Version Available")
.setIcon(getResources()
.getDrawable(android.R.drawable.stat_sys_download))
.setMessage("New version of app is available. Update your app")
.setCancelable(false)
.setNeutralButton("UPDATE", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
try {
startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id="+getPackageName())));
} catch (ActivityNotFoundException e) {
// TODO: handle exception
startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName())));
}
}
});
AlertDialog updatedialog = dialogUpdate.create();
updatedialog.show();
答案 0 :(得分:1)
Google不提供任何api来获取最新版本的应用程序代码。 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>
找到页面的这一部分后,您可以提取版本号并将其与应用中可用的版本号进行比较:
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
}
对于HTML解析部分,请看这里
请记住,每个人都不会在同一时间看到新版本。传播可能需要一些时间(可能是因为缓存)。
答案 1 :(得分:0)
访问此链接https://developer.android.com/guide/playcore/in-app-updates,这可能会对您的查找有所帮助。如果它符合您的需求/要求,请对该线程进行投票。