Android APP 版本更新通知代码

public class UpdateNotification
{
  private static HashMap<String, String> getLatestVersionData(String paramString)
  {
    HashMap localHashMap = new HashMap();
    String str = "http://xxxxx/service_check_version.do?appCode=" + paramString;
    DefaultHttpClient localDefaultHttpClient = new DefaultHttpClient();
    try
    {
      HttpResponse localHttpResponse = localDefaultHttpClient.execute(new HttpGet(str));
      if (localHttpResponse.getStatusLine().getStatusCode() == 200)
      {
        ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
        localHttpResponse.getEntity().writeTo(localByteArrayOutputStream);
        localByteArrayOutputStream.close();
        JSONObject localJSONObject = new JSONObject(localByteArrayOutputStream.toString());
        localHashMap.put("versionCode", localJSONObject.getString("versionCode"));
        localHashMap.put("versionManageOption", localJSONObject.getString("versionManageOption"));
      }
      return localHashMap;
    }
    catch (ClientProtocolException localClientProtocolException)
    {
      Log.i("SERVER_ACCESS_ERROR", localClientProtocolException.getMessage());
    }
    catch (IOException localIOException)
    {
      Log.i("SERVER_ACCESS_ERROR", localIOException.getMessage());
    }
    catch (JSONException localJSONException)
    {
      Log.i("SERVER_ACCESS_ERROR", localJSONException.getMessage());
    }
  }

  public static void showUpdateDialogIfNecessary(String paramString, Context paramContext)
  {
    try
    {
      new Thread(new Runnable(paramString, paramContext)
      {
        public void run()
        {
          HashMap localHashMap = UpdateNotification.access$0(UpdateNotification.this);
          if ((!localHashMap.containsKey("versionCode")) || (!localHashMap.containsKey("versionManageOption")) || (localHashMap.get("versionCode") == null) || (((String)localHashMap.get("versionCode")).equals("")))
            return;
          try
          {
            int i = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionCode;
            int j = Integer.parseInt((String)localHashMap.get("versionCode"));
            String str = (String)localHashMap.get("versionManageOption");
            if (j <= i)
              return;
            if (!str.equals("required"))
              new AlertDialog.Builder(this).setIcon(R.id.icon).setTitle("New update available!").setPositiveButton("Update Now", new DialogInterface.OnClickListener(this.val$context)
              {
                public void onClick(DialogInterface paramDialogInterface, int paramInt)
                {
                  Intent localIntent = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=" + this.getPackageName()));
                  .startActivity(localIntent);
                }
              }).setNegativeButton("Later", new DialogInterface.OnClickListener()
              {
                public void onClick(DialogInterface paramDialogInterface, int paramInt)
                {
                }
              }).show();
            else
              new AlertDialog.Builder(this).setIcon(R.id.icon).setTitle("New update available!").setPositiveButton("Update Now", new DialogInterface.OnClickListener(this.val$context)
              {
                public void onClick(DialogInterface paramDialogInterface, int paramInt)
                {
                  Intent localIntent = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=" + this.getPackageName()));
                  this.startActivity(localIntent);
                }
              }).show();
          }
          catch (PackageManager.NameNotFoundException localNameNotFoundException)
          {
            Log.i("VERSION_ACQUISITION_ERROR", localNameNotFoundException.getMessage());
          }
        }
      }).start();
      return;
    }
    catch (Exception localException)
    {
    }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值