我在我的應用程序中插入了一些代碼,以檢查是否有新版本可用。Android - 開放遊戲商店更新不要求更新
如果有一個,用戶會得到一個對話框詢問他是否要更新。
一切工作正常,但問題是,即使播放商店顯示當前版本可用1.1,並且用戶有版本1.0,它仍然要求「啓動」或「卸載」應用程序,並沒有顯示任何更新按鈕。
這是有問題的,因爲用戶將不斷收到更新對話框並將被重定向到未顯示任何更新版本的頁面。
這裏是我的代碼:
if (!lastVersion.equals(actualVersion)){
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
//Yes button clicked
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.xxx.yyy"));
startActivity(intent);
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=com.xxx.yyy")));
}
break;
case DialogInterface.BUTTON_NEGATIVE:
//No button clicked
if (force_update){
android.os.Process.killProcess(android.os.Process.myPid());
}
break;
}
}
};
如果你回去,並再次點擊按鈕,這也真的嗎?因爲我知道市場應用程序中的應用程序頁面經常會被緩存,因此要查看需要退出的更新版本並重新進入應用程序頁面以獲取新版本?同樣出於好奇,你如何檢查新版本?你自己的API還是解析/詢問市場? –
@NicklasGnejsEriksson嘿,謝謝你花時間幫助我。 因此,即使我關閉了所有的東西,請點擊回去,然後重新開始,仍然是同樣的問題。我嘗試了所有我能想到的。 至於版本檢查,我做了一些非常簡單的事情。 我的服務器上有一個php文件,用於渲染一個包含最後一個版本,一個force_update變量,一條消息和一些其他參數的json對象,我希望在不需要更新的情況下進行管理。 然後,我從我的應用程序中檢索此對象,並將版本字符串與應用程序版本進行比較。如果相等,則不做任何事,否則,顯示對話框。 – user3119384
如果不是緩存,那麼我不確定它實際上可能是什麼。您是否嘗試過搜索,而不是「搜索?q = pname:yourpackage」,然後手動輸入App頁以查看它是否具有更新?或者,如果您只是在Play商店中手動進行全面檢查,我看到了啊,你自己的API。 :)對不起,我不能有太大的幫助^^祝你好運:) –