Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebView可以';不要总是加载url_Android_Android Webview_Bolts Framework - Fatal编程技术网

Android WebView可以';不要总是加载url

Android WebView可以';不要总是加载url,android,android-webview,bolts-framework,Android,Android Webview,Bolts Framework,我试图使用WebView加载URL,但web视图似乎不稳定-有时页面加载100%,有时页面停止加载30%/50%/75%(随机)。 我在Android Bolts任务中创建了WebView,并且没有向用户显示WebView,它只为将来的请求加载一些javascript 代码: private Task\u SetupJavascript(){ final Task.TaskCompletionSource myTask=Task.create(); WebView WebView=新的WebVi

我试图使用WebView加载URL,但web视图似乎不稳定-有时页面加载100%,有时页面停止加载30%/50%/75%(随机)。 我在Android Bolts任务中创建了WebView,并且没有向用户显示WebView,它只为将来的请求加载一些javascript

代码:

private Task\u SetupJavascript(){
final Task.TaskCompletionSource myTask=Task.create();
WebView WebView=新的WebView(getActivity());
最终WebSettings=webview.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
loadUrl(“javascript:LocalStorage.set('valueA','valueB','valueC');”;
myTask.setResult(Boolean.TRUE);
}
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){
view.loadUrl(url);
返回true;
}
@凌驾
接收错误时公共无效(WebView视图、WebResourceRequest请求、WebResourceError错误){
//在测试期间从不开火
Log.e(标记“onReceivedError--->出了问题…”);
myTask.setCancelled();
}
});
setWebView.WebChromeClient(新WebChromeClient(){
@凌驾
public void onProgressChanged(WebView视图,int newProgress){
super.onProgressChanged(视图,newProgress);
Log.e(标记“”+newProgress);
}
});
loadUrl(URL);
onResume();
返回myTask.getTask();
}
<>我不知道什么会导致WebVIEW在进程中间停止随机加载。 有时在第一次运行此任务时失败,有时在3/4/5次之后失败

private Task<Boolean> task_SetupJavascript(){

    final Task<Boolean>.TaskCompletionSource myTask = Task.create();

    WebView webview = new WebView(getActivity());
    final WebSettings settings = webview.getSettings();
    settings.setJavaScriptEnabled(true);
    settings.setDomStorageEnabled(true);

    webview.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            view.loadUrl("javascript: LocalStorage.set('valueA', 'valueB', 'valueC');");
            myTask.setResult(Boolean.TRUE);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

        @Override
        public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
            // never fired during tests
            Log.e(TAG,"onReceivedError --->  Something went wrong... "); 
            myTask.setCancelled();
        }
    });

    webview.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            super.onProgressChanged(view, newProgress);
            Log.e(TAG, ""+newProgress);
        }
    });

    webview.loadUrl(URL);
    webview.onResume();
    return myTask.getTask();

}