package com.example.lghdialog.webview;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.example.lghdialog.R;
/**
* Created by lzq on 2017/1/8.
*/
public class LghWebViewActivity extends Activity {
public static final String SCHEMA="com.example.lghdialog://message_private_url";
public static final String PARAM_UID="uid";
private static final Uri PROFILE_URI= Uri.parse(SCHEMA);
private String url;
TextView titleTv;
LghCustomWebView webView;
ProgressBar progressBar;
LghErrorEmptyLayout lghErrorEmptyLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lgh_webview_layout);
initView();
initData();
}
private void initView() {
titleTv = (TextView) findViewById(R.id.title);
webView = (LghCustomWebView) findViewById(R.id.webview);
progressBar = (ProgressBar) findViewById(R.id.progress);
lghErrorEmptyLayout = (LghErrorEmptyLayout) findViewById(R.id.error);
webView.withProgressView(progressBar)
.withWebviewChromeClient()
.withJavaScriptEnabled(true)
.withWebViewClient()
.withWebViewClient(webView.new CustomWebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
lghErrorEmptyLayout.setLayoutType(LghErrorEmptyLayout.HIDE_LAYOUT);
}
})
.withWebViewTitleReceiver(new LghCustomWebView.WebViewTitleReceiver() {
@Override
public void getTitle(String title) {
/** 自定义标题 */
String title1 = getIntent().getStringExtra("title");
if(title1!=null){
titleTv.setText(title1);
}else{
titleTv.setText(title);
}
titleTv.setSelected(true);
}
})
.withLoadUrlType();
webView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction()== KeyEvent.ACTION_DOWN){
if (keyCode== KeyEvent.KEYCODE_BACK){
if (webView.canGoBack()){
webView.goBack();
}else {
finish();
}
return true;
}
}
return false;
}
});
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
private void initData() {
extraUidFromUri();
// /** 聊天页面跳进来 */
// if(getIntent().getStringExtra("illUrl")!=null){
// url = getIntent().getStringExtra("illUrl");
// }
webView.withURL(url);
webView.startLoad();
if (Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT){
WebView.setWebContentsDebuggingEnabled(true);
}
}
private void extraUidFromUri(){
Uri uri=getIntent().getData();
if (uri!=null&&PROFILE_URI.getScheme().equals(uri.getScheme())){
url=uri.getQueryParameter(PARAM_UID);
}
if (!TextUtils.isEmpty(url)){
if (url.indexOf("www")==0){
url="http://"+url;
}else if (url.indexOf("https")==0){
String bUid=url.substring(5,url.length());
url="http"+bUid;
}
}else {
url="";
}
Log.d("LghWebViewActivity","url="+url);
}
}