Paypal 页面未在 Android 应用程序中加载,仅显示微调器,直到我触摸屏幕 6.0.1

Paypal page not loading in Android app, just shows spinner, until I touch screen 6.0.1

我在我的 Android 应用程序中使用 Braintree 进行订阅。我在网络视图中访问一个页面。在此页面上,我 select 贝宝支付类型,然后按下一步。我得到了贝宝微调器,这意味着它正在加载。仅此而已。如果我不在屏幕上滑动手指,或者不按主页按钮然后返回,它就不会重新加载,并且会卡在微调器上。当我做其中一件事情时,它会关闭微调器并显示 "Mock Sandbox Purchase Flow"。 这是我在日志中得到的唯一内容:

01-15 10:31:36.482: W/cr.BindingManager(10025): Cannot call determinedVisibility() - never saw a connection for the pid: 10025

任何想法这里有什么问题? 这就是我启动 Webview 的方式,如果有帮助的话:

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            WebView.setWebContentsDebuggingEnabled(true);
        }  
  wv.setWebChromeClient(new WebChromeClient());
        wv.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        WebSettings settings = wv.getSettings();
        settings.setAllowUniversalAccessFromFileURLs(true);
        settings.setJavaScriptEnabled(true);
        settings.setJavaScriptCanOpenWindowsAutomatically(true);
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
        settings.setAppCacheEnabled(false);
        settings.setDomStorageEnabled(true);
        wv.setWebViewClient(new WebViewClient());
 file = "http://192.168.1.24:9000/" + lang + "/dashboard/billing?key="+Uri.encode(token)+"&id=" + PSLocationCenter.getInstance().pref.getUserId(PSWebViewActivity.this);
    wv.loadUrl(file);

这发生在装有 Android 6.0.1 的 Nexus 5 上。这适用于带有 5 的 LG G3 和带有 4.4.2

的 Galaxy Note 2

通过模拟运动事件的小技巧修复了此问题,以便刷新网络视图。但是,如果有人对此有更优雅的解决方案,我愿意接受建议。 我的修复:

 private void simulate(){
    Handler han = new Handler();
    han.postDelayed(new Runnable() {
        @Override
        public void run() {
            if(wv != null) {
                MotionEvent motionEvent = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis() + 10, MotionEvent.ACTION_DOWN, 0, 0, 0);
                wv.dispatchTouchEvent(motionEvent);
                simulate();
            }
        }
    }, 5000);
}