implementation 'com.just.agentweb:agentweb-androidx:4.1.4'
<LinearLayout
android:id="@+id/lin_web"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fadingEdge="none"
android:orientation="vertical" />
public class WebviewActivity extends BaseActivity {
public static final String TAG = "WebviewActivity";
@BindView(R.id.lin_web)
LinearLayout linWeb;
@BindView(R.id.tv_lantitle)
TextView tvLantitle;
@BindView(R.id.left_img)
TextView leftImg;
@BindView(R.id.iv_left)
RelativeLayout ivLeft;
@BindView(R.id.iv_rightimg)
ImageView ivRightimg;
@BindView(R.id.comment_view)
View commentView;
@BindView(R.id.lin_comment)
LinearLayout linComment;
private AgentWeb mAgentWeb;
private String token;
@Override
protected int getLayoutId() {
return R.layout.activity_webview;
}
@Override
protected void initView() {
token = PreferenceUtil.getString("Zjj", "token");
String title = getIntent().getStringExtra("content");
String url = getIntent().getStringExtra("title");
tvLantitle.setText(title);
initData(url);
}
private void initData(String url) {
mAgentWeb = AgentWeb.with(this)
.setAgentWebParent((LinearLayout) linWeb, new LinearLayout.LayoutParams(-1, -1))
.useDefaultIndicator(getResources().getColor(R.color.txtblue))
.setWebChromeClient(new WebChromeClient())
.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return super.shouldOverrideUrlLoading(view, request);
}
})
.additionalHttpHeader(url, "token", token)
.createAgentWeb()
.ready()
.go(url);
WebView webView = mAgentWeb.getWebCreator().getWebView();
webView.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBlockNetworkImage(false);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mAgentWeb.getWebCreator().getWebView().canGoBack()) {
mAgentWeb.getWebCreator().getWebView().goBack();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onResume() {
super.onResume();
mAgentWeb.getWebLifeCycle().onResume();
}
@Override
protected void onPause() {
super.onPause();
mAgentWeb.getWebLifeCycle().onPause();
}
@Override
protected void destoryData() {
mAgentWeb.getWebLifeCycle().onDestroy();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ButterKnife.bind(this);
}
@OnClick(R.id.iv_left)
public void onViewClicked() {
finish();
}
}