It worked for me. Add this dependency.
implementation 'org.jsoup:jsoup:1.8.3'
In the onCreate () method, use the following code:
try { String currentVersion=""; currentVersion = getApplicationContext().getPackageManager().getPackageInfo(getPackageName(), 0).versionName; Log.e("Current Version","::"+currentVersion); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } new GetVersionCode().execute();
Create class GetVersionCode:
private class GetVersionCode extends AsyncTask<Void, String, String> { @Override protected String doInBackground(Void... voids) { String newVersion = null; try { Document document = Jsoup.connect("https://play.google.com/store/apps/details?id=" + context.getPackageName() + "&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(); if (document != null) { Elements element = document.getElementsContainingOwnText("Current Version"); for (Element ele : element) { if (ele.siblingElements() != null) { Elements sibElemets = ele.siblingElements(); for (Element sibElemet : sibElemets) { newVersion = sibElemet.text(); } } } } } catch (IOException e) { e.printStackTrace(); } return newVersion; } @Override protected void onPostExecute(String onlineVersion) { super.onPostExecute(onlineVersion); if (onlineVersion != null && !onlineVersion.isEmpty()) { if (onlineVersion.equals(currentVersion)) { } else { AlertDialog alertDialog = new AlertDialog.Builder(context).create(); alertDialog.setTitle("Update"); alertDialog.setIcon(R.mipmap.ic_launcher); alertDialog.setMessage("New Update is available"); alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Update", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName()))); } catch (android.content.ActivityNotFoundException anfe) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + context.getPackageName()))); } } }); alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); alertDialog.show(); } } Log.d("update", "Current version " + currentVersion + "playstore version " + onlineVersion); } }
source share