我在我的 Android 應用程序中進行了強制更新,它會在 Play 商店中檢查我的應用程序的版本名稱,并通過我的應用程序更新進行驗證。如果 google play 商店版本與當前版本不同,它會顯示更新的彈出消息。當用戶按下彈出窗口上的更新按鈕時,它會重定向到 Play 商店。問題是,在 google play store 上,在某些設備中,“更新”按鈕不顯示,而顯示“打開”按鈕。我嘗試清除緩存,它起作用了。但是對于用戶來說也不是很方便。在多少臺設備上,我必須繼續(xù)這樣做。這是我下面的代碼,用于驗證應用程序版本:protected String doInBackground(String... urls) { try { newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + <Your package name> + "&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() .select("div.hAyfc:nth-child(4) > span:nth-child(2) > div:nth-child(1) > span:nth-child(1)") .first() .ownText(); return newVersion; } catch (Exception e) { e.printStackTrace(); return ""; } }這是重定向到 google play 商店的代碼:try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setData(Uri.parse("market://details?id=" + context.getPackageName())); startActivity(intent); dialog.dismiss(); } catch (Exception e) { e.printStackTrace(); }正如我已經(jīng)告訴過你的那樣,在某些設備上它工作正常,而在某些設備上,我必須清除 Google Play 商店緩存。什么是理想的解決方案?
1 回答

呼喚遠方
TA貢獻1856條經(jīng)驗 獲得超11個贊
根本不推薦你在做什么。
您正在嘗試抓取網(wǎng)站以搜索特定的 HTML 或 CSS 標簽,這些標簽是自動生成的,并且每次構(gòu)建播放網(wǎng)站時可能會有所不同,并且在基于為頁面提供服務的服務器的不同版本的 PlayStore 之間,這可能會破壞您的任何邏輯片刻。
處理這種情況的正確方法是使用適用于 Android API >= 21 (Lollipop) 和適用于 Android < 21 的應用內(nèi)更新庫,使用你自己的后端和 REST API,可以查詢它以獲得最新的可用版本。
您看到的問題可能與您的邏輯在某些情況下從 PlayStore 讀取錯誤值有關。
添加回答
舉報
0/150
提交
取消