2011-11-22 67 views
1

我想在我的應用程序中執行檢查,告訴用戶我何時在Android市場上發佈了新版本。任何想法都可以輕鬆實現這種檢查?如何讓您的應用程序告訴用戶Android Market上有新版本?

更新這是我如何解決它:

private static int getManifestVersionCode(Activity activity) { 
    try { 
     PackageInfo pinfo = activity.getPackageManager().getPackageInfo(activity.getPackageName(), 0); 
     return pinfo.versionCode; 
    } catch (NameNotFoundException e) { 
    } 
    return 0; 
} 

private static int getRemoteVersionCode() { 
    BufferedReader reader = null; 
    try { 
     URL url = new URL("http://myserver.com/my_version_code.html"); 
     reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8")); 
     String line = reader.readLine(); 
     return Integer.parseInt(line); 
    }catch (Exception e) { 
    }finally { 
     if (reader != null){ 
      try { 
       reader.close(); 
      } catch (IOException logOrIgnore) { 
      } 
     } 
    } 
    return 0; 
} 

回答

4

用戶已經更新通知的時間,當他們使用Market應用。

但是,如果您堅持在您的應用程序中使用其他方法,最簡單的做法是從應用程序到應用程序版本與當前版本進行比較的遠程服務器進行異步調用。

更新: 如果你依靠屏幕抓取,然後如果谷歌要更改頁面更新檢查將無法正常工作。在這種情況下,用戶不會收到警報。所以出於這個原因,我認爲如果你自己託管服務器端部件,如果你可以爲服務器支付,那麼最好。你可以用另一種方式(我不太喜歡)來實現,但它是免費的,將一個公共html文件存儲在應用程序可以讀取的Dropbox之類的東西上,然後可以刮掉HTML。由於它是你的html頁面,你不會有頁面更改的問題。

+0

謝謝!是的,我真的需要它,因爲我已經將應用程序分發到其他市場,但我不想將應用程序分發到所有這些地方。我已經考慮解析android市場頁面的值「itemprop =」softwareVersion「」。我想這可能有點貴? –

+0

更新我的答案,因爲我的評論變得有點長。 – C0deAttack

+0

好吧,我想這是最簡單的方法。謝了哥們 :) –

相關問題