我想在網頁視圖中加載網頁,我可以這樣做,但是有一個按鈕可以讓您上傳文件。當我在Android的Chrome應用程序中加載頁面時,此按鈕可以正常工作,並且它會打開文件瀏覽器,Web視圖上的任何事情都不會發生。是否有可能使用鉻瀏覽網頁,或者一些如何讓這個按鈕從網頁視圖中觸發文件選擇器?Android Webview vs Android Chrome瀏覽器
我試圖改變網絡視圖選項啓用javascript ECT,下面是針對webactivity代碼:
public class WebActivity extends Activity {
Button b1;
WebView wv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
b1=(Button)findViewById(R.id.button);
wv=(WebView)findViewById(R.id.webView);
//wv1.setWebViewClient(new MyBrowser());
wv.setWebChromeClient(new WebChromeClient());
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setAllowFileAccess(true);
wv.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
wv.loadUrl("MY WEBSITE URL");
wv.setWebChromeClient(new WebChromeClient());
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
if (url.startsWith("tel:") || url.startsWith("mailto:")) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(url));
startActivity(intent);
}else if(url.startsWith("http:") || url.startsWith("https:")) {
view.loadUrl(url);
}
return true;
}
});
}
});
}
}
瀏覽器擁有所有API來完成所有這些功能。如果你想要所有的功能,而無需爲webview編寫額外的代碼,那麼我建議你嵌入人行橫道作爲webview的替代品。 - https://crosswalk-project.org/ - https://crosswalk-project.org/documentation/apis/embedding_api.html - 它會增加約19megs的應用程序,但瀏覽器非常好 – Tasos
將有一看 – Lawtonj94
有一個簡單的如何教程的android工作室,所以你可以測試,看看你是否喜歡使用它 - https://diego.org/2015/01/07/embedding-crosswalk-in-android-studio/ - 但改變(編譯'org.xwalk:xwalk_core_library:10.39.235.15')到最新的版本號可以在這裏找到https://crosswalk-project.org/documentation/downloads.html目前是(16.45.421.19 ) - – Tasos