|
|
@@ -9,7 +9,6 @@ import android.content.Intent;
|
|
|
import android.content.pm.PackageInfo;
|
|
|
import android.content.pm.PackageManager;
|
|
|
import android.net.Uri;
|
|
|
-import android.net.http.SslError;
|
|
|
import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
@@ -18,14 +17,7 @@ import android.util.Log;
|
|
|
import android.view.Menu;
|
|
|
import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
-import android.webkit.CookieManager;
|
|
|
-import android.webkit.CookieSyncManager;
|
|
|
import android.webkit.JavascriptInterface;
|
|
|
-import android.webkit.SslErrorHandler;
|
|
|
-import android.webkit.ValueCallback;
|
|
|
-import android.webkit.WebChromeClient;
|
|
|
-import android.webkit.WebView;
|
|
|
-import android.webkit.WebViewClient;
|
|
|
import android.widget.ImageView;
|
|
|
import android.widget.ProgressBar;
|
|
|
import android.widget.TextView;
|
|
|
@@ -39,10 +31,16 @@ import com.common.system.SystemUtil;
|
|
|
import com.core.app.MyApplication;
|
|
|
import com.core.base.BaseActivity;
|
|
|
import com.core.net.http.ViewUtil;
|
|
|
-import com.handmark.pulltorefresh.library.PullToRefreshBase;
|
|
|
-import com.handmark.pulltorefresh.library.PullToRefreshWebView;
|
|
|
import com.modular.appmessages.model.SubMessage;
|
|
|
import com.modular.login.activity.LoginActivity;
|
|
|
+import com.tencent.smtt.export.external.interfaces.SslError;
|
|
|
+import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
|
|
|
+import com.tencent.smtt.sdk.CookieManager;
|
|
|
+import com.tencent.smtt.sdk.CookieSyncManager;
|
|
|
+import com.tencent.smtt.sdk.ValueCallback;
|
|
|
+import com.tencent.smtt.sdk.WebChromeClient;
|
|
|
+import com.tencent.smtt.sdk.WebView;
|
|
|
+import com.tencent.smtt.sdk.WebViewClient;
|
|
|
import com.umeng.socialize.ShareAction;
|
|
|
import com.umeng.socialize.bean.SHARE_MEDIA;
|
|
|
import com.umeng.socialize.media.UMImage;
|
|
|
@@ -66,7 +64,7 @@ import java.util.Map;
|
|
|
*/
|
|
|
public class WebViewCommActivity extends BaseActivity implements View.OnClickListener {
|
|
|
public static final String TIME = "WebViewCommActivity_time";
|
|
|
- private PullToRefreshWebView webView;
|
|
|
+ private com.tencent.smtt.sdk.WebView webView;
|
|
|
private ProgressBar pb;
|
|
|
private ImageView back;
|
|
|
private ImageView refresh;
|
|
|
@@ -121,7 +119,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
}
|
|
|
Map<String, String> headers = new HashMap<>();
|
|
|
headers.put("clientType", "uas client");
|
|
|
- webView.getRefreshableView().loadUrl(url, headers);
|
|
|
+ webView.loadUrl(url, headers);
|
|
|
}
|
|
|
|
|
|
@SuppressLint("SetJavaScriptEnabled")
|
|
|
@@ -130,10 +128,9 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
super.onCreate(savedInstanceState);
|
|
|
Intent intent = getIntent();
|
|
|
setContentView(R.layout.activity_webview);
|
|
|
- webView = (PullToRefreshWebView) findViewById(R.id.webView_listview);
|
|
|
+ webView = (com.tencent.smtt.sdk.WebView) findViewById(R.id.webView_listview);
|
|
|
mPreTv = (TextView) findViewById(R.id.web_previous_tv);
|
|
|
mNextTv = (TextView) findViewById(R.id.web_next_tv);
|
|
|
- webView.setMode(PullToRefreshBase.Mode.DISABLED);
|
|
|
mReadSubs = new ArrayList<>();
|
|
|
isStartApp = false;
|
|
|
pb = (ProgressBar) findViewById(R.id.pb);
|
|
|
@@ -193,23 +190,26 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
}
|
|
|
long oldtime = PreferenceUtils.getLong(this, TIME, System.currentTimeMillis());
|
|
|
if (((System.currentTimeMillis() - oldtime) / (1000 * 60)) > 20) {
|
|
|
- if (isCookie)
|
|
|
+ if (isCookie) {
|
|
|
login(this);
|
|
|
+ }
|
|
|
}
|
|
|
- webView.getRefreshableView().getSettings().setJavaScriptEnabled(true);
|
|
|
- webView.getRefreshableView().getSettings().setAllowFileAccess(true);// 设置允许访问文件数据
|
|
|
+ webView.getSettings().setJavaScriptEnabled(true);
|
|
|
+ webView.getSettings().setAllowFileAccess(true);// 设置允许访问文件数据
|
|
|
// webView.getRefreshableView().getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); //设置 缓存模式
|
|
|
- webView.getRefreshableView().getSettings().setDomStorageEnabled(true);
|
|
|
- webView.getRefreshableView().getSettings().setDatabaseEnabled(true);
|
|
|
- webView.getRefreshableView().getSettings().setAppCacheEnabled(true);
|
|
|
- webView.getRefreshableView().getSettings().setSavePassword(true);
|
|
|
- webView.getRefreshableView().getSettings().setSaveFormData(true);
|
|
|
+ webView.getSettings().setDomStorageEnabled(true);
|
|
|
+ webView.getSettings().setDatabaseEnabled(true);
|
|
|
+ webView.getSettings().setAppCacheEnabled(true);
|
|
|
+ webView.getSettings().setSavePassword(true);
|
|
|
+ webView.getSettings().setSaveFormData(true);
|
|
|
|
|
|
// 修改ua使得web端正确判断
|
|
|
- webView.getRefreshableView().addJavascriptInterface(new JSWebView(), "JSWebView"); //在JSWebView类里实现javascript想调用的方法,并将其实例化传入webview, "JSWebView"这个字串告诉javascript调用哪个实例的方法
|
|
|
+ webView.addJavascriptInterface(new JSWebView(), "JSWebView"); //在JSWebView类里实现javascript想调用的方法,并将其实例化传入webview, "JSWebView"这个字串告诉javascript调用哪个实例的方法
|
|
|
+
|
|
|
+ setThirdPartyCookiesEnabled(true);
|
|
|
|
|
|
- String ua = webView.getRefreshableView().getSettings().getUserAgentString();
|
|
|
- webView.getRefreshableView().getSettings().setUserAgentString(ua + " uasClient");
|
|
|
+ String ua = webView.getSettings().getUserAgentString();
|
|
|
+ webView.getSettings().setUserAgentString(ua + " uasClient");
|
|
|
|
|
|
if (isCookie) {
|
|
|
synCookies(this, url);
|
|
|
@@ -220,10 +220,10 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
headers.put("client-name", "uasClient");
|
|
|
// url="http://192.168.253.132:9090/platform-b2c/?client=true";
|
|
|
Log.d("webUrl", url);
|
|
|
- webView.getRefreshableView().loadUrl(url, headers);
|
|
|
+ webView.loadUrl(url, headers);
|
|
|
// webView.getRefreshableView().loadUrl("file:///android_asset/submit.html");
|
|
|
- webView.getRefreshableView().setWebChromeClient(new ChromeClient());
|
|
|
- webView.getRefreshableView().setWebViewClient(new WebViewClient() {
|
|
|
+ webView.setWebChromeClient(new WebChromeClient());
|
|
|
+ webView.setWebViewClient(new WebViewClient(){
|
|
|
@Override
|
|
|
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
|
|
|
if (isCookie) {
|
|
|
@@ -285,7 +285,9 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
switch (v.getId()) {
|
|
|
case R.id.web_previous_tv:
|
|
|
mPosition--;
|
|
|
- if (mSubscriptionMessages.get(mPosition).getStatus() == 0) mPosition--;
|
|
|
+ if (mSubscriptionMessages.get(mPosition).getStatus() == 0) {
|
|
|
+ mPosition--;
|
|
|
+ }
|
|
|
break;
|
|
|
case R.id.web_next_tv:
|
|
|
mPosition++;
|
|
|
@@ -320,7 +322,7 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
+ "&sessionId=" + CommonUtil.getSharedPreferences(ct, "sessionId");
|
|
|
Map<String, String> headers = new HashMap<>();
|
|
|
headers.put("client-name", "uasClient");
|
|
|
- webView.getRefreshableView().loadUrl(url, headers);
|
|
|
+ webView.loadUrl(url, headers);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -354,7 +356,6 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
if (newProgress == 100) {
|
|
|
pb.setProgress(newProgress);
|
|
|
pb.setVisibility(View.GONE);
|
|
|
- webView.onRefreshComplete();
|
|
|
}
|
|
|
super.onProgressChanged(view, newProgress);
|
|
|
}
|
|
|
@@ -472,8 +473,8 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
CookieManager cookieManager = CookieManager.getInstance();
|
|
|
cookieManager.removeSessionCookie();//移除
|
|
|
cookieManager.removeAllCookie();
|
|
|
- webView.getRefreshableView().clearHistory();
|
|
|
- webView.getRefreshableView().clearCache(true);
|
|
|
+ webView.clearHistory();
|
|
|
+ webView.clearCache(true);
|
|
|
}
|
|
|
|
|
|
private void login(Context context) {
|
|
|
@@ -482,6 +483,15 @@ public class WebViewCommActivity extends BaseActivity implements View.OnClickLis
|
|
|
PreferenceUtils.putLong(context, TIME, System.currentTimeMillis());
|
|
|
}
|
|
|
|
|
|
+ @SuppressLint("NewApi")
|
|
|
+ public void setThirdPartyCookiesEnabled(final boolean enabled) {
|
|
|
+ if (Build.VERSION.SDK_INT >= 21) {
|
|
|
+ com.tencent.smtt.sdk.CookieManager.getInstance().setAcceptThirdPartyCookies(webView, enabled);
|
|
|
+ } else {
|
|
|
+ com.tencent.smtt.sdk.CookieManager.getInstance().setAcceptCookie(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void onBackPressed() {
|
|
|
if (!mReadSubs.isEmpty()) {
|