package com.bestapp.yikuair.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import com.bestapp.yikuair.AppstartActivity; import com.bestapp.yikuair.LoginActivity; import com.bestapp.yikuair.fragments.ChatActivity; import com.bestapp.yikuair.fragments.PersonalProfileActivity; import com.bestapp.yikuair.fragments.ResponsiveUIActivity; import com.bestapp.yikuair.fragments.ScheduleAddActivity; import com.bestapp.yikuair.fragments.SelectMemberActivity; import com.bestapp.yikuair.fragments.SettingActivity; import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.util.Log; public class CheckNewEdition { private Context mContext; private static String requestURL; private static Thread getThread; public CheckNewEdition(Context context) { mContext = context; } public void checkEdition() { requestURL = "http://www.parng.com/checkV2.lc?v=1.24"; getThread = new Thread() { public void run() { HttpClient client = new DefaultHttpClient(); HttpGet getMethod = new HttpGet(requestURL); Log.e("test", "url :" + requestURL); HttpResponse response = null; try { response = client.execute(getMethod); if (response != null) { StatusLine statusLine = response.getStatusLine(); if (statusLine != null) { if (statusLine.getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = response.getEntity(); if (entity != null) { InputStream content = entity.getContent(); handleEntity(content); } } } } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { client.getConnectionManager().shutdown(); } } @SuppressLint("NewApi") private void handleEntity(InputStream content) throws IOException { String result = ""; BufferedReader in = null; in = new BufferedReader(new InputStreamReader(content)); StringBuffer sb = new StringBuffer(""); String line = ""; String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) { sb.append(line + NL); } in.close(); result = sb.toString(); Log.e("test", "check new edition :" + result); handleStr(result); content.close(); } }; getThread.start(); } @SuppressLint("NewApi") private void handleStr(String Str) { if (Str == null) return; String newEditionUrl = ""; String num = ""; try { if (!Str.equals("0")) { String[] resultStr = Str.split(","); Log.e("test", "length :" + resultStr.length); if (resultStr != null && resultStr.length > 1) { num = resultStr[0]; newEditionUrl = resultStr[1]; closeAllActivity(newEditionUrl, num); sendLoginResultBroadCast(newEditionUrl, num); } } } catch (Exception e) { e.printStackTrace(); } } private void closeAllActivity(String url, String num) { Log.e("test", "checknewedition close all activity..........."); if (SettingActivity.instance != null) SettingActivity.instance.finish(); if (PersonalProfileActivity.instance != null) PersonalProfileActivity.instance.finish(); if (ResponsiveUIActivity.instance != null) ResponsiveUIActivity.instance.finish(); if (ChatActivity.instance != null) ChatActivity.instance.finish(); if (SelectMemberActivity.instance != null) SelectMemberActivity.instance.finish(); if (ScheduleAddActivity.instance != null) ScheduleAddActivity.instance.finish(); if (AppstartActivity.instance != null) AppstartActivity.instance.finish(); if (LoginActivity.instance == null) { Log.e("test", "url:" + url ); Log.e("test", "num:" + num ); Intent intent = new Intent(mContext, LoginActivity.class); intent.putExtra("username", UserInfo.id); intent.putExtra("url", url); intent.putExtra("num", num); mContext.startActivity(intent); } } private void sendLoginResultBroadCast(String url, String num) { Intent intent = new Intent(); intent.setAction(MessageInfo.LoginResultBroadCast); intent.putExtra("result", url); intent.putExtra("num", num); intent.putExtra("code", 200); intent.putExtra("token", 500); mContext.sendBroadcast(intent); } }