33
This commit is contained in:
@@ -0,0 +1,362 @@
|
||||
package cn.shangyu.gdxzExpert.activity;
|
||||
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.WindowManager;
|
||||
import android.webkit.WebChromeClient;
|
||||
import android.webkit.WebChromeClient.CustomViewCallback;
|
||||
import android.webkit.WebSettings;
|
||||
import android.webkit.WebSettings.LayoutAlgorithm;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
|
||||
import cn.shangyu.gdxzExpert.R;
|
||||
|
||||
|
||||
public class AdvertActivity extends AppCompatActivity implements OnClickListener {
|
||||
private WebView wv_advert;
|
||||
// private View view;
|
||||
private RelativeLayout fl_advert;
|
||||
|
||||
private MyWebChromeClient mMyWebChromeClient;
|
||||
|
||||
private View xCustomView;
|
||||
private CustomViewCallback xCustomViewCallback;
|
||||
// private myWebChromeClient xwebchromeclient;
|
||||
private String ganyuanweini = "http://ylxb.igandan.com/bmspatient/toindex";
|
||||
private String twoduiban = "http://www.igandan.com/ygzd/index.html";
|
||||
private String bingganzhenduan = "http://www.igandan.com/bgzd/index.html";
|
||||
private String gdys = "http://wx.igandan.com/video/videoLisByType?share=1&typeUuid=f3d1b0de3cb44d18977f06e714032913&page=1";
|
||||
|
||||
|
||||
private String mWebTitle = "";
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_advert);
|
||||
Toolbar mToolbar=findViewById(R.id.toolbar);
|
||||
ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init();
|
||||
// view = UIUtils.inflate(R.layout.activity_advert);
|
||||
wv_advert = (WebView) findViewById(R.id.wv_advert);
|
||||
fl_advert = findViewById(R.id.fl_advert);
|
||||
String url = getIntent().getStringExtra("patientmoocurlStr");
|
||||
|
||||
// wv_quest_detaiil.loadUrl(url)
|
||||
WebSettings settings = wv_advert.getSettings();
|
||||
|
||||
// 设置 缓存模式
|
||||
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
|
||||
// settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
|
||||
// 开启 DOM storage API 功能
|
||||
settings.setDomStorageEnabled(true);
|
||||
// 开启 database storage API 功能
|
||||
settings.setDatabaseEnabled(true);
|
||||
settings.setUseWideViewPort(true);
|
||||
settings.setLoadWithOverviewMode(true);
|
||||
|
||||
settings.setUseWideViewPort(true);// 设置此属性,可任意比例缩放
|
||||
settings.setJavaScriptEnabled(true);// 启用javascript脚本
|
||||
settings.setJavaScriptCanOpenWindowsAutomatically(true);// 支持通过JS打开新窗口
|
||||
|
||||
settings.setLoadWithOverviewMode(true);
|
||||
settings.setUseWideViewPort(true);
|
||||
settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
|
||||
settings.setSupportZoom(true);
|
||||
settings.setBuiltInZoomControls(true);
|
||||
|
||||
mMyWebChromeClient = new MyWebChromeClient() {
|
||||
@Override
|
||||
public void onReceivedTitle(WebView view, String title) {
|
||||
// TODO Auto-generated method stub
|
||||
super.onReceivedTitle(view, title);
|
||||
mWebTitle = title;
|
||||
}
|
||||
};
|
||||
wv_advert.setWebChromeClient(mMyWebChromeClient);
|
||||
// xwebchromeclient = new myWebChromeClient();
|
||||
// wv_advert.setWebChromeClient(xwebchromeclient);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
wv_advert.getSettings().setMixedContentMode(
|
||||
WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||
}
|
||||
wv_advert.setWebViewClient(new MyWebViewClient());
|
||||
// wv_advert.setWebViewClient(new WebViewClient() {
|
||||
// @Override
|
||||
// public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||
// // TODO Auto-generated method stub
|
||||
// view.loadUrl(url);
|
||||
// return true;
|
||||
// }
|
||||
// });
|
||||
wv_advert.loadUrl(url);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// TODO Auto-generated method stub
|
||||
// AGP 8.0+ R.id 不再是 final 常量,不能用于 switch,改用 if-else
|
||||
int id = v.getId();
|
||||
if (id == R.id.top_back_layout) {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
private String shareTitle, shareUrl, shareContent;
|
||||
|
||||
// public void UMengShare() {
|
||||
// // ToastUtil.showMessage(mWebTitle);
|
||||
// // newsTitle = getIntent().getStringExtra("newsTitle");// 新闻的标题
|
||||
// // summary = getIntent().getStringExtra("summary");// 新闻的摘要
|
||||
// if (getIntent().getStringExtra("type").equals("gbjc")) {
|
||||
// shareTitle = mWebTitle;
|
||||
//
|
||||
// shareContent = "首医肝病转化医学研究所|肝胆相照平台联合肝病检测";
|
||||
// } else if(getIntent().getStringExtra("patientmoocurlStr").equals(
|
||||
// ganyuanweini) ){
|
||||
// shareTitle = "一路陪伴,肝愿为你";
|
||||
// shareContent = "肝胆相照®带您了解乙肝";
|
||||
// }else if( getIntent().getStringExtra("patientmoocurlStr").equals(
|
||||
// twoduiban)){
|
||||
// shareTitle = "乙肝五项检查报告在线解读";
|
||||
// shareContent = "肝胆相照®肝胆病在线公共服务平台";
|
||||
// }else if( getIntent().getStringExtra("patientmoocurlStr").equals(
|
||||
// bingganzhenduan)){
|
||||
// shareTitle = "丙肝检查报告在线解读";
|
||||
// shareContent = "肝胆相照®肝胆病在线公共服务平台";
|
||||
// }else if(getIntent().getStringExtra("patientmoocurlStr").equals(
|
||||
// gdys)){
|
||||
// shareTitle = "肝胆科普视频,你想了解学习的都在这里";
|
||||
// shareContent = "肝胆相照®肝胆病在线公共服务平台";
|
||||
//
|
||||
// }else{
|
||||
// shareTitle = "谈丙话肝";
|
||||
// shareContent = "肝胆相照®带您了解丙肝";
|
||||
// }
|
||||
// shareUrl = getIntent().getStringExtra("patientmoocurlStr");
|
||||
// UMImage shareImg;
|
||||
//
|
||||
// shareImg = new UMImage(AdvertActivity.this,
|
||||
// "http://doc.igandan.com/app/html/img/2016/20160714132557.png");
|
||||
//
|
||||
// UMWeb web = new UMWeb(shareUrl);
|
||||
// web.setTitle(shareTitle);// 标题
|
||||
// web.setThumb(shareImg); // 缩略图
|
||||
// web.setDescription(shareContent);// 描述
|
||||
// new ShareAction(AdvertActivity.this)
|
||||
// .withMedia(web)
|
||||
// .setDisplayList(SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE,
|
||||
// SHARE_MEDIA.SINA).setCallback(new UMShareListener() {
|
||||
//
|
||||
// @Override
|
||||
// public void onStart(SHARE_MEDIA arg0) {
|
||||
// // TODO Auto-generated method stub
|
||||
// switch (arg0) {
|
||||
// case WEIXIN_CIRCLE:
|
||||
// if (getIntent().getStringExtra("type").equals("tbhg")|| getIntent().getStringExtra("patientmoocurlStr").equals("http://wx.igandan.com/bing/index?share=1")
|
||||
// || getIntent()
|
||||
// .getStringExtra("patientmoocurlStr")
|
||||
// .equals("http://gdwx.dsz360.com/bing/index?share=1")) {
|
||||
// shareTitle = "谈丙话肝,肝胆相照®带您了解丙肝";
|
||||
// } else if(getIntent().getStringExtra("patientmoocurlStr").equals(
|
||||
// ganyuanweini) ){
|
||||
// shareTitle = "一路陪伴,肝愿为你,肝胆相照®带您了解乙肝";
|
||||
//
|
||||
// }else if( getIntent().getStringExtra("patientmoocurlStr").equals(
|
||||
// twoduiban)){
|
||||
// shareTitle = "乙肝五项检查报告在线解读,肝胆相照®肝胆病在线公共服务平台";
|
||||
//
|
||||
// }else if( getIntent().getStringExtra("patientmoocurlStr").equals(
|
||||
// bingganzhenduan)){
|
||||
// shareTitle = "丙肝检查报告在线解读,肝胆相照®肝胆病在线公共服务平台";
|
||||
//
|
||||
// }else if(getIntent().getStringExtra("patientmoocurlStr").equals(
|
||||
// gdys)){
|
||||
// shareTitle = "肝胆科普视频,你想了解学习的都在这里,肝胆相照®肝胆病在线公共服务平台";
|
||||
// }
|
||||
//
|
||||
// break;
|
||||
//
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onResult(SHARE_MEDIA arg0) {
|
||||
// // TODO Auto-generated method stub
|
||||
// Toast.makeText(AdvertActivity.this, "分享成功",
|
||||
// Toast.LENGTH_LONG).show();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onError(SHARE_MEDIA arg0, Throwable arg1) {
|
||||
// // TODO Auto-generated method stub
|
||||
// Toast.makeText(AdvertActivity.this,
|
||||
// "分享失败" + arg1.getMessage(), Toast.LENGTH_LONG)
|
||||
// .show();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onCancel(SHARE_MEDIA arg0) {
|
||||
// // TODO Auto-generated method stub
|
||||
// Toast.makeText(AdvertActivity.this, "分享取消",
|
||||
// Toast.LENGTH_LONG).show();
|
||||
// }
|
||||
// }).open();
|
||||
// }
|
||||
|
||||
// 适配全屏播放
|
||||
|
||||
private class MyWebChromeClient extends WebChromeClient {
|
||||
private View mCustomView;
|
||||
private CustomViewCallback mCustomViewCallback;
|
||||
|
||||
@Override
|
||||
public void onShowCustomView(View view, CustomViewCallback callback) {
|
||||
super.onShowCustomView(view, callback);
|
||||
if (mCustomView != null) {
|
||||
callback.onCustomViewHidden();
|
||||
return;
|
||||
}
|
||||
mCustomView = view;
|
||||
fl_advert.addView(mCustomView);
|
||||
mCustomViewCallback = callback;
|
||||
// layout_top.setVisibility(View.GONE);
|
||||
wv_advert.setVisibility(View.GONE);
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
|
||||
}
|
||||
|
||||
public void onHideCustomView() {
|
||||
wv_advert.setVisibility(View.VISIBLE);
|
||||
if (mCustomView == null) {
|
||||
return;
|
||||
}
|
||||
mCustomView.setVisibility(View.GONE);
|
||||
fl_advert.removeView(mCustomView);
|
||||
// layout_top.setVisibility(View.VISIBLE);
|
||||
mCustomViewCallback.onCustomViewHidden();
|
||||
mCustomView = null;
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
|
||||
final WindowManager.LayoutParams attrs = getWindow()
|
||||
.getAttributes();
|
||||
attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
getWindow().setAttributes(attrs);
|
||||
getWindow().clearFlags(
|
||||
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
|
||||
super.onHideCustomView();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration config) {
|
||||
super.onConfigurationChanged(config);
|
||||
switch (config.orientation) {
|
||||
case Configuration.ORIENTATION_LANDSCAPE:
|
||||
getWindow().clearFlags(
|
||||
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
|
||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
break;
|
||||
case Configuration.ORIENTATION_PORTRAIT:
|
||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
getWindow().addFlags(
|
||||
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (wv_advert.canGoBack()) {
|
||||
wv_advert.goBack();
|
||||
return;
|
||||
}
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
wv_advert.destroy();
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置全屏
|
||||
*/
|
||||
private void setFullScreen() {
|
||||
// 设置全屏的相关属性,获取当前的屏幕状态,然后设置全屏
|
||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
// 全屏下的状态码:1098974464
|
||||
// 窗口下的状态吗:1098973440
|
||||
}
|
||||
|
||||
/**
|
||||
* 退出全屏
|
||||
*/
|
||||
private void quitFullScreen() {
|
||||
// 声明当前屏幕状态的参数并获取
|
||||
final WindowManager.LayoutParams attrs = getWindow().getAttributes();
|
||||
attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
getWindow().setAttributes(attrs);
|
||||
getWindow()
|
||||
.clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
|
||||
}
|
||||
|
||||
|
||||
public class MyWebViewClient extends WebViewClient {
|
||||
|
||||
// private ProgressDialog loadingBar;
|
||||
|
||||
@Override
|
||||
public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
||||
// loadingView.setVisibility(View.VISIBLE);
|
||||
|
||||
super.onPageStarted(view, url, favicon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||
view.loadUrl(url); // webview里面的链接还在同一个页面中加载
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
|
||||
super.onPageFinished(view, url);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReceivedError(WebView view, int errorCode,
|
||||
String description, String failingUrl) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user