| | |
| | | import android.view.View; |
| | | import android.widget.ProgressBar; |
| | | |
| | | import com.lzy.okgo.OkGo; |
| | | import com.lzy.okgo.cache.CacheMode; |
| | | import com.lzy.okgo.callback.StringCallback; |
| | | import com.lzy.okgo.request.BaseRequest; |
| | | import com.moral.andbrickslib.utils.log.XLog; |
| | | import com.moral.yunfushao.MainActivity; |
| | | import com.moral.yunfushao.R; |
| | | import com.moral.yunfushao.common.API; |
| | | import com.moral.yunfushao.httputils.HttpCallBack; |
| | | import com.moral.yunfushao.httputils.HttpUtils; |
| | | import com.moral.yunfushao.utils.T; |
| | | |
| | | import org.json.JSONException; |
| | | import org.json.JSONObject; |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.File; |
| | | import java.io.FileOutputStream; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.InputStreamReader; |
| | | import java.net.HttpURLConnection; |
| | | import java.net.MalformedURLException; |
| | | import java.net.URL; |
| | | import java.util.HashMap; |
| | | |
| | | import okhttp3.Call; |
| | | import okhttp3.Response; |
| | | |
| | | public class UpdateManager { |
| | | /* 下载中 */ |
| | |
| | | ParseXmlService service = new ParseXmlService(); |
| | | try { |
| | | mHashMap = service.parseXml(API.URL_HTTP + "/upgrade"); |
| | | if (isUpdate()) { |
| | | if (Build.VERSION.SDK_INT >= 23) { |
| | | mActivity.updateAPP(); |
| | | } else { |
| | | // 显示提示对话框 |
| | | showNoticeDialog(); |
| | | } |
| | | } else { |
| | | // Log.d("haijiang","已经是最新版本"); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 检测软件更新 |
| | | */ |
| | | public void checkUpdateJson() { |
| | | String data = getUrlData(API.UPDATE); |
| | | try { |
| | | JSONObject resJosn = new JSONObject(data); |
| | | mHashMap = new HashMap<>(); |
| | | mHashMap.put("version", resJosn.optString("version")); |
| | | mHashMap.put("name", resJosn.optString("name")); |
| | | mHashMap.put("message", ""); |
| | | mHashMap.put("url", resJosn.optString("url")); |
| | | if (isUpdate()) { |
| | | if (Build.VERSION.SDK_INT >= 23) { |
| | | mActivity.updateAPP(); |
| | |
| | | /** |
| | | * 显示软件下载对话框 |
| | | */ |
| | | private void showDownloadDialog() |
| | | { |
| | | private void showDownloadDialog() { |
| | | // 构造软件下载对话框 |
| | | Builder builder = new Builder(mActivity); |
| | | builder.setTitle(R.string.soft_updating); |
| | |
| | | mProgress = (ProgressBar) v.findViewById(R.id.update_progress); |
| | | builder.setView(v); |
| | | // 取消更新 |
| | | builder.setNegativeButton(R.string.soft_update_cancel, new OnClickListener() |
| | | { |
| | | builder.setNegativeButton(R.string.soft_update_cancel, new OnClickListener() { |
| | | @Override |
| | | public void onClick(DialogInterface dialog, int which) |
| | | { |
| | | public void onClick(DialogInterface dialog, int which) { |
| | | dialog.dismiss(); |
| | | // 设置取消状态 |
| | | cancelUpdate = true; |
| | |
| | | /** |
| | | * 下载apk文件 |
| | | */ |
| | | private void downloadApk() |
| | | { |
| | | private void downloadApk() { |
| | | // 启动新线程下载软件 |
| | | new downloadApkThread().start(); |
| | | } |
| | |
| | | // 取消下载对话框显示 |
| | | mDownloadDialog.dismiss(); |
| | | } |
| | | }; |
| | | } |
| | | |
| | | ; |
| | | |
| | | /** |
| | | * 安装APK文件 |
| | |
| | | i.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive"); |
| | | mActivity.startActivity(i); |
| | | } |
| | | |
| | | public static String getUrlData(String path) { |
| | | BufferedReader br = null; |
| | | StringBuffer sb = new StringBuffer(); |
| | | HttpURLConnection connection = null; |
| | | try { |
| | | URL url = new URL(path); |
| | | connection = (HttpURLConnection) url.openConnection(); |
| | | connection.setRequestMethod("GET"); |
| | | connection.setConnectTimeout(8000); |
| | | connection.setReadTimeout(8000); |
| | | br = new BufferedReader(new InputStreamReader(connection.getInputStream())); |
| | | String s = null; |
| | | while ((s = br.readLine()) != null) { |
| | | sb.append(s); |
| | | } |
| | | br.close(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | if (connection != null) { |
| | | connection.disconnect(); |
| | | } |
| | | } |
| | | return sb.toString(); |
| | | } |
| | | |
| | | |
| | | } |