From 9b750104e3133daff55e6e8d2acc737264121d7c Mon Sep 17 00:00:00 2001 From: sonichy Date: Wed, 13 Jun 2018 21:30:19 +0800 Subject: [PATCH] add auto update --- app-debug.apk | Bin 303322 -> 282295 bytes main/AndroidManifest.xml | 2 +- main/assets/about.htm | 9 +- main/java/com/hty/browser/MainActivity.java | 115 ++++++++++++++++++-- 4 files changed, 115 insertions(+), 11 deletions(-) diff --git a/app-debug.apk b/app-debug.apk index 119270fc295101f998e43678ecd8a687d450a724..dfbc766b576474a2ca2699c4813b46d30f7cacc3 100644 GIT binary patch delta 28633 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 I?cKoqKbRwE3IG5A delta 26473 zcmZ5{WmFx{?>FvJpt!Z@7kBq!#oaDi+}&-tSc^Lsm*VaPic{R(-Q8Uue*c%xIh%d4 zlgT8RPqJq-*~Uz)r7mp95(ON|=kFNKW-bnH&L(Cq%s-r6Ot=;$FlyK&Fd8GN;n2__ zaRRUe5S1cmd`PDNEEX&b6kOxH0PF-grb^<3IXNa2)c=SI3KtNx)>}YSnwaAEB!^VhNr>tLU3sK63MS&;Af-=*t z z53?uu$k`;yY-`41?BHx_=FIGAXUnxH z1otsR5U!44hz~j;@qhqE7Zs8t3x^BQlY>Ko<66{0tzpwbO;FbV-%h|_*F7A_wL=I$ zgu)<0K{jaM@F5)(FvyS~YZ&6j4+g#Z|MMy4Kg*j86dx$4{}Jtnd? zqwq2OU7?O=EdZv@V22wH<3kV>(*JHy@FD9RIhU0MDNZ);LutD3UxVDAW%rCbs{>fD5y!nP*$3m(fh` z)zV2KKz@XG;^U4cT+ye!p8gs2rg# z@2*2xNad>Xd^=}QrAH=R(k*F7R*kt;E0yp5N!MTzq>3M-Y%TY_WVj1=gQ%K#1)kaR z3yCeXRzO)-gAryE?g}bE2CEcg(KX&RyiqAtfD!Ps3unV(!|j6h0{$X2X$g4^4nTN^ z(Ud4zGeSy%Dg-YY!CS(ncWP`XUJzgKKQKI?z2JCi(I=sXiy|MuA_TCr!pOr-i+$n* z-x{GVp!^B4=_0GfUqL&A@&G?~25n$neD=g>MKXXU58Bd@B}D`j5i5*{n=o6^gb{lc zX5b|{r7qMiu>OmV$KVXG+xT(8{$R-J+MxQQ8hr)TANmcc9cpz>nN}GdFObWK*7H*< zyzi)N6wI(Fj2^N*bO!=CbdhAqn-K*ssvfdGQWl~^&`XLcZ4kdB*#ayX6bo3XtH!C| zsLS0^D5bO%cu_fT1&CBW7bg=N(i)FNS7|&=^qEsk>pAWB9Ekq4V1WiaU6} zE4#Bpj1I+@f)_^*i458Snn6+*Jl$zsO-ce)6$F6a>|`@xGy_n(gfB>V(XQs{xUgqF zj8E9GyC9#iX;U@n(yPYKK(&V(5BT?`QNLun%eESg6ATP@x@|yt;=YjXu(u2Aq8d(Za;{)Q+$K^f`%7K7$!Ra2&f9EQz?N_hCvAUVMLJv zZQW)32}Z$)X#t8EZn@Llk#qr(3`!};5X{rL3~VTExLlBL*#55QG;$P7fiedde8E`i zlBy;=fmuiN2!j2<0F@_RE0h8JIXI?Mq_YFO4^!YB2+n~~2NNkHc5et)BkQ3tBMNjy zeSi|m6Yk~n|Ck*DgEm}pnAPbq69b@l@iGvOL}Ihg;!;&k~sa%-b6bxJv+KQK3;e{2H`0Q(Nt9+7l}iU4NILCHYC3)J`m zKL)E6q}%1U!FQp1!Tf;c3*QQ1oeyl!A(2OzHG4hVh2(?NDSWN}Ym^2d)!C(?f3mn2QN6`p6Lx8%&M_FSswL#iR#l2N(zelQ}3O zh;m)2M%0$j`{0O9^o^notqraZ*buy+x^{#&W1_+K2jPg~^5QbWSb&i%p-(p`s!3N+ z$lzJPm|c)g0N{E>lmgQkK_dl?Zb)6gUhsMnk|1Qmo^u@#5FjZ+%^H#M!s;R21w40c zZ%AH{JzyTRCvd^d1hQHp>UN=TU|b-161Kt%LmPs-Z6*;}krIRGmC*xp;Ps#?p&P+P zoh}>j7eo(~AJBw_Zy~rg`t)HsENYi*EY$z00-QiUcj|vc;OADDHK?DR>z(+br-e+S z&<7Y#L0>ntSux}hT*N+Qz*FQ9Qi&4tlG{QHbfO!Pdwvpx_D3;*VhPmhB;HWCU>;Z& z_s=0Gz@Q1FGs4q`8iQi!^masULik91@Z;chSU1vLgx5|ZRs?wjw;bql1Y}2y1(Zr? zpz$L}V>%Oz7>yO7UAhEW$r+)Ff#u;MfQm|E-Ll_C=#~gfUl6u(aLeJ5W8vr~5az(QIi$8wwpO2)k$b1AwEJ-7YK@!K z(*tz8KTo$Bhil50gj=bwG0~^ur9LGBsimLQg4zG+vL${N7th^8Y0xOnh&OL1TY#Xst-zll+z0r4M1cPV)WcU^C^9%qFgf^V zS4hROwjCy5|*7M#)tZj?GXHgrCcI>`f}C)o?h2gtEoq5R~rc{ zJh6)Ofj`5EY(e(mS46olxxmV85Aq3jGK};gvPV4W6q;_j-^ems;W4{BAJ|&|*)rGT z#T)Vd`K;tZNc2sj9sidv5JzWESCo(2n4gJ03O%0AyX6nxI4}r%MSBKw>bxr1$Hdge{C3c!(_D|lv`;Y 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 AjQ{`u diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index c7252d3..fb1f3a2 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -2,7 +2,7 @@ + android:versionName="3.7"> 海天鹰浏览器 -


海天鹰浏览器 V3.6

+


海天鹰浏览器 V3.7

内置扩展的浏览器。

扩展:[国产]高亮,广告图片自定义过滤。

作者:黄颖

+

主页:https://github.com/sonichy

E-mail:sonichy@163.com

QQ:84429027

+

参考:

+

Android WebView 三种文件下载方式

+

自动安装apk包

更新日志:

+

V3.7 (2018-06-13)

  1. 增加自动更新。

V3.6 (2018-05-30)

  1. 修复从收藏夹返回输入法不能自动隐藏的问题。

V3.5 (2018-04-25)

  1. 收藏夹支持搜索。

V3.4 (2018-03-13)

  1. 增加视频独立播放。
  2. 使用系统下载取代浏览器跳转下载、图片下载,并增加链接下载
diff --git a/main/java/com/hty/browser/MainActivity.java b/main/java/com/hty/browser/MainActivity.java index 793c636..5e22639 100644 --- a/main/java/com/hty/browser/MainActivity.java +++ b/main/java/com/hty/browser/MainActivity.java @@ -1,5 +1,6 @@ package com.hty.browser; +import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; @@ -7,6 +8,7 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; @@ -16,6 +18,7 @@ import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.app.DownloadManager; +import android.content.BroadcastReceiver; import android.content.ClipData; import android.content.ClipboardManager; import android.content.ContentResolver; @@ -23,8 +26,10 @@ import android.content.ContentValues; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; import android.content.res.Configuration; import android.database.Cursor; import android.graphics.Bitmap; @@ -35,6 +40,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; +import android.os.Looper; import android.preference.PreferenceManager; import android.provider.MediaStore; import android.text.Editable; @@ -85,11 +91,14 @@ public class MainActivity extends Activity { InputMethodManager IMM; ProgressBar pgb1; String urlo = "", HTRE = "", ptitle = "", urln = ""; - int ec = 0; + String urlVersion = "https://raw.githubusercontent.com/sonichy/Android_HTYBrowser/master/version"; + String urlUpdate = "https://raw.githubusercontent.com/sonichy/Android_HTYBrowser/master/app-debug.apk"; CustomViewCallback customViewCallback; - boolean isFullScreen; + boolean isFullScreen, isManualCheckUpdate = false; static File dir; SharedPreferences sharedPreferences; + Thread CU; + long downloadIdUpdate; @Override protected void onCreate(Bundle savedInstanceState) { @@ -208,8 +217,7 @@ public class MainActivity extends Activity { @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); - Toast.makeText(getApplicationContext(), "ReceivedError:" + errorCode, Toast.LENGTH_SHORT) - .show(); + Toast.makeText(getApplicationContext(), "ReceivedError:" + errorCode, Toast.LENGTH_SHORT).show(); if (isNetworkConnected()) { switch(errorCode){ case WebViewClient.ERROR_HOST_LOOKUP: // 找不到主机,跳转百度搜索 @@ -409,6 +417,18 @@ public class MainActivity extends Activity { }); + CU = new Thread() { + @Override + public void run() { + checkUpdate(); + } + }; + new Thread(CU).start(); + + DownloadCompleteReceiver receiver = new DownloadCompleteReceiver(); + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction(DownloadManager.ACTION_DOWNLOAD_COMPLETE); + registerReceiver(receiver, intentFilter); } private void setFullScreen() { @@ -747,7 +767,7 @@ public class MainActivity extends Activity { } void MenuDialog() { - final String items[] = { "收藏本页", "收藏夹", "查找", "分享", "视频独立播放", "查看源码", "主页", "全屏", "广告过滤规则", "设置", "关于", "退出" }; + String[] items = { "收藏本页", "收藏夹", "查找", "分享", "视频独立播放", "查看源码", "主页", "全屏", "广告过滤规则", "设置", "检查更新", "关于", "退出" }; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("菜单"); builder.setIcon(R.drawable.ic_launcher); @@ -810,9 +830,13 @@ public class MainActivity extends Activity { startActivity(new Intent(MainActivity.this, SettingsActivity.class)); break; case 10: + isManualCheckUpdate = true; + new Thread(CU).start(); + break; + case 11: webView1.loadUrl("file:///android_asset/about.htm"); break; - case 11: + case 12: MainActivity.this.finish(); break; } @@ -1022,10 +1046,85 @@ public class MainActivity extends Activity { // 自定义下载路径 // request.setDestinationUri() // request.setDestinationInExternalFilesDir() - final DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); + DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); // 添加一个下载任务 long downloadId = downloadManager.enqueue(request); - Log.e("downloadId:", downloadId+""); + Log.e("downloadId:", downloadId+""); + if(url == urlUpdate){ + downloadIdUpdate = downloadId; + } } + void checkUpdate() { + try { + String versionL = MainActivity.this.getPackageManager().getPackageInfo(MainActivity.this.getPackageName(), 0).versionName; + URL url = new URL(urlVersion); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + //conn.setRequestMethod("GET"); + //if (conn.getResponseCode() == 200) { + InputStream IS = conn.getInputStream(); + InputStreamReader ISR = new InputStreamReader(IS); + BufferedReader bufferReader = new BufferedReader(ISR); + String versionS = bufferReader.readLine(); + Log.e("Version", versionS + " > " + versionL + " ?"); + String[] AVersionS = versionS.split("\\."); + String[] AVersionL = versionL.split("\\."); + //Log.e("Version: ", AVersionS[0] + " > " + AVersionL[0] + " ? " + AVersionS[1] + " > " + AVersionL[1] + " ?"); + if ((Integer.parseInt(AVersionS[0]) > Integer.parseInt(AVersionL[0])) || (Integer.parseInt(AVersionS[1]) > Integer.parseInt(AVersionL[1]))) { + Looper.prepare(); + AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); + builder.setIcon(R.drawable.ic_launcher); + builder.setTitle("升级"); + builder.setMessage("发现新版本 " + versionS + " ,当前版本 " + versionL + " ,是否升级?"); + builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + downloadBySystem(urlUpdate, "", ""); + } + }); + builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + } + }); + AlertDialog dialog = builder.create(); + dialog.show(); + Looper.myLooper().loop(); + } else { + if(isManualCheckUpdate) { + Looper.prepare(); + Toast.makeText(getApplicationContext(), "当前版本 " + versionL + " 是最新的版本", Toast.LENGTH_SHORT).show(); + Looper.myLooper().loop(); + } + Log.e("检查更新: ", "当前版本是最新的版本"); + } + //} + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private class DownloadCompleteReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + Log.e("onReceive.intent", intent != null ? intent.toUri(0) : null); + if (intent != null) { + if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(intent.getAction())) { + long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1); + Log.e("DownloadId", downloadId + ""); + DownloadManager downloadManager = (DownloadManager) context.getSystemService(DOWNLOAD_SERVICE); + if(downloadId ==downloadIdUpdate){ + Uri uri = downloadManager.getUriForDownloadedFile(downloadId); + Log.e("UriDownload", uri.toString()); + Intent intentn = new Intent(Intent.ACTION_VIEW); + intentn.setDataAndType(uri, "application/vnd.android.package-archive"); + startActivity(intentn); + } + } + } + } + } + } \ No newline at end of file