ByWebView
Features
- Ji Ben Pei Zhi Shi Yong (Kuan Du Zi Gua Ying , Fan Hui Wang Ye Shang Yi Ceng , Xian Shi Wang Ye Biao Ti Deng )
- Huan Qi San Fang Ying Yong (Bo Da Dian Hua , Fa Song Duan Xin , Fa Song You Jian Deng )
- Shang Chuan Tu Pian (Ban Ben Jian Rong )
- Cuo Wu Ye Mian Chu Li
- Quan Ping Bo Fang Wang Luo Shi Pin
- Yu JsJiao Hu Shi Li
- You Ya De Jin Du Tiao Xian Shi Kong Jian
DemoShi Li :
- DeepLinkDe Ji Ben Shi Yong
- Bei Zuo Wei Di San Fang Liu Lan Qi Da Kai
- Yu ToolBarLian Dong ,Zi Ding Yi WebView
- Teng Xun x5Shi Yong Shi Li
Document
- Android Guan Yu WebViewQuan Fang Mian De Shi Yong (Xiang Mu Ying Yong Pian )
- Android DeepLinkJie Shao Yu Shi Yong
- Android Ying Yong Bei Zuo Wei Di San Fang Liu Lan Qi Da Kai
- Android WebViewYu JSJiao Hu Shi Li
- Yi Kuan Android WebViewJin Du Tiao Xian Shi Kong Jian ,Shi Qi Jia Zai Jin Du Ping Hua Guo Du
Screenshots
Download
Yin Yong
- Add the JitPack repository to your build file
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Add the dependency:
implementation 'com.github.youlookwhat:ByWebView:1.2.1'
}
Use
.with(this)
.setWebParent(container, new LinearLayout.LayoutParams(-1, -1))
.useWebProgress(ContextCompat.getColor(this, R.color.coloRed))
.loadUrl(mUrl);
Yu JsJiao Hu
- Diao Yong JsFang Fa :
byWebView.getLoadJsHolder().quickCallJs("javacalljs");
// Chuan Di Can Shu Diao Yong
byWebView.getLoadJsHolder().quickCallJs("javacalljswithargs", "androidChuan Ru Dao Wang Ye Li De Shu Ju ,You Can ");
- JsDiao Yong JavaFang Fa :
.addJavascriptInterface("injectedObject", new MyJavascriptInterface(this))
.loadUrl(mUrl);
window.injectedObject.startFunction()
Sheng Ming Zhou Qi Chu Li
protected void onPause() {
super.onPause();
byWebView.onPause();
}
@Override
protected void onResume() {
super.onResume();
byWebView.onResume();
}
@Override
protected void onDestroy() {
byWebView.onDestroy();
super.onDestroy();
}
Fan Hui Cao Zuo
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (byWebView.handleKeyEvent(keyCode, event)) {
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}
Shang Chuan Tu Pian Zhi Hou De Hui Diao
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
byWebView.handleFileChooser(requestCode, resultCode, intent);
}
Jian Ting Biao Ti , Jin Du Tiao , WebViewClient
.with(this)
.setWebParent(container, new LinearLayout.LayoutParams(-1, -1))
.useWebProgress(ContextCompat.getColor(this, R.color.coloRed))
.setOnTitleProgressCallback(onTitleProgressCallback)
.setOnByWebClientCallback(onByWebClientCallback)
.addJavascriptInterface("injectedObject", new MyJavascriptInterface(this))
.loadUrl(mUrl);
@Override
public void onReceivedTitle(String title) {
Log.e("---title", title);
}
@Override
public void onProgressChanged(int newProgress) {
// Fan Hui De Jin Du
}
@Override
public boolean onHandleScreenOrientation(boolean isShow) {
// Fan Hui true,Shi Pin Quan Ping Shi ,Heng Shu Ping Zi Ji Chu Li
return false;
}
};
private OnByWebClientCallback onByWebClientCallback = new OnByWebClientCallback() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
}
@Override
public boolean onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
// Ru Guo Zi Ji Chu Li ,Xu Yao Fan Hui true
return super.onReceivedSslError(view, handler, error);
}
@Override
public void onPageFinished(WebView view, String url) {
// Wang Ye Jia Zai Wan Cheng Hou De Hui Diao
}
@Override
public boolean isOpenThirdApp(String url) {
// Chu Li San Fang Lian Jie
Log.e("---url", url);
return ByWebTools.handleThirdApp(ByWebViewActivity.this, url);
}
};
Zi Ding Yi Cuo Wu Ye Mian
.setErrorLayout(R.layout.by_load_url_error,"Wu Fa Da Kai Wang Ye ")
.loadUrl(mUrl);
Wan Zheng She Zhi
.with(this)
.useWebProgress(true) // Shi Fou Shi Yong Jin Du Tiao ,Mo Ren true,Ru Shi Yong Ke Bu Yong Pei Zhi
.setWebParent(container, new LinearLayout.LayoutParams(-1, -1)) // She Zhi WebViewFu Rong Qi
.useWebProgress("#ffb6cf", "#ff0000", 3)// Jin Du Tiao Jian Bian Se (Kai Shi Yan Se ,Jie Shu Yan Se ,Gao Du )
.setOnTitleProgressCallback(onTitleProgressCallback)// title He progress Jian Ting
.setOnByWebClientCallback(onByWebClientCallback) // WebViewClientJian Ting
.setErrorLayout(R.layout.by_load_url_error, "Wu Fa Da Kai Wang Ye ") // She Zhi Cuo Wu Ye Mian Ji Biao Ti
.addJavascriptInterface("injectedObject", new MyJavascriptInterface(this)) // She Zhi JsJian Ting
.loadUrl(mUrl);
Tip
-
Hun Yao Shi Ying Jia Shang (Tong Guo JSXiang Wang Ye Chuan Zhi ,Ru Bu Jia You Shi Hou Hui Chuan Zhi Shi Bai ):
-keepattributes *Annotation*
-keepattributes *JavascriptInterface*
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}