2011-07-10 37 views
-1

可能重複:
Force users to have latest android app version迫使用戶更新應用

是否可以檢查Android應用程序的用戶是否具有最新版本的它的啓動和迫使他如果他沒有更新?或者至少檢查是否有新版本並告訴他,該應用只有在他下載並安裝更新時纔會工作。

背景是我有一個應用程序需要與服務器通信。當我在服務器和客戶端之間的界面中更改某些內容時,我想確保客戶端具有最新版本。

是否有任何本地方式來做到這一點?或者我必須自己檢查一下嗎?

只有你有mysql數據庫纔可以訪問嗎?是否可以使用純文本在網頁上做到這一點,並檢查了當前的應用程序版本?

檢查最新版本的服務器上,在一個文本文件:

HttpClient client = new DefaultHttpClient(); 
HttpGet request = new HttpGet(url); 
HttpResponse response = client.execute(request); 

String latestVersion = ""; 
InputStream in = response.getEntity().getContent(); 
BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 
StringBuilder str = new StringBuilder(); 
String line = null; 
while((line = reader.readLine()) != null) 
{ 
    str.append(line); 
} 
in.close(); 
latestVersion = str.toString(); 

,然後比較它安裝的版本:

private String getSoftwareVersion() { 
    try { 
      PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); 
      return packageInfo.versionName; 
    } catch (PackageManager.NameNotFoundException e) { 
      Log.e(TAG, "Package name not found", e); 
    }; 
} 

這就是有人告訴我,但我並不完全知道如何處理這兩個代碼。任何人都能指定?

+0

更好的方法是規劃向後兼容性。 – mibollma

+3

請不要問你幾天前問過的同一個問題。如果您需要爲問題添加更多細節,請對其進行編輯。如果您希望人們更多關注,請發佈獎勵。如果你沒有足夠的聲望點設置獎勵,可以賺取一些獎勵。 –

+0

那麼至少有人會介意回答嗎? Mibollma是什麼意思是向後兼容? – Drake

回答

1

市場會告訴用戶,當你發佈一個新的版本,這取決於他們是否要升級,您可以添加註釋,告訴他們爲什麼,除此之外,沒有內部機制

如果你只是關閉當前的應用程序,通過檢查當前版本對您的網站,你真的會激怒人們,他們不會長時間的粉絲,如果這樣做對我來說很可能我只是卸載應用程序

到目前爲止作爲界面去你應該支持舊版本以及更新的版本,如果你不用用戶會再次對你的這個數字

當然這取決於您,但總的來說,您應該儘可能爲最終用戶提供愉快的體驗,即使它會導致您額外的工作

+0

我想添加此功能以確保安全性將根據需要進行修補。這個應用程序的基本功能是確保不會發生安全漏洞。 – Drake

+0

@drake大多數大公司,即使MS只建議你得到更新,他們不強迫它。你可以通過檢查每次用戶通過自己的方法打開你的應用程序來做你想做的事情,但是如果他們沒有連接,如果你的修復打破了事情並且迫使他們升級,該怎麼辦?當我理解你的位置時我真的會對你採取這種做法。我已經這麼做了很長時間了,而且你越是向用戶指示你將會遇到的麻煩越多。如果檢查他們是否有連接並警告他們您有安全修復程序,那麼該如何處理? – Idistic