2011-11-22 63 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

好吧,我想这是最简单的方法。谢了哥们 :) –

相关问题