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 中显示交易