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

Posted

技术标签:

【中文标题】Paypal 页面未在 Android 应用程序中加载,仅显示微调器,直到我触摸屏 6.0.1【英文标题】:Paypal page not loading in Android app, just shows spinner, until I touch screen 6.0.1 【发布时间】:2016-04-20 21:06:26 【问题描述】:

我在我的 android 应用中使用 Braintree 进行订阅。我在 webview 中访问一个页面。在此页面中,我选择贝宝付款类型,然后按下一步。我得到了贝宝微调器,这意味着它正在加载。仅此而已。如果我没有在屏幕上滑动手指,或者按主页按钮并返回,它不会重新加载,并卡在微调器上。当我做其中一件事情时,它会关闭微调器并显示“模拟沙盒购买流程”。 这是我在日志中得到的唯一内容:

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

【问题讨论】:

【参考方案1】:

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

 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);

【讨论】:

以上是关于Paypal 页面未在 Android 应用程序中加载,仅显示微调器,直到我触摸屏 6.0.1的主要内容,如果未能解决你的问题,请参考以下文章

未在 Paypal Preapproved Payments 页面中列出的定期计费的客户

我可以为未在 PayPal 中注册的用户创建 PayPal 链式付款作为接收方吗?

Expressjs 中的 Paypal REST SDK 集成未在 Sandbox 中显示交易

未在所有 Paypal 交易中收取小额支付费用

Paypal Developer Beta:测试交易未在 Sandbox Business 帐户中列出

Paypal 信用卡未在沙盒模式下显示