2

4.3 リリース以降、Android の支払い Web ビューで問題が発生しました。

SSL証明書のリダイレクトが原因だと思いますが、変更できません。

samsung または sony < 4.2 で URL を試してみましたが成功しましたが、2 つの異なる 4.3 nexus でこのダンプを取得しました。

08-08 17:22:38.619: E/AndroidRuntime(7568): FATAL EXCEPTION: WebViewCoreThread
08-08 17:22:38.619: E/AndroidRuntime(7568): java.lang.StringIndexOutOfBoundsException: length=0; index=-1
08-08 17:22:38.619: E/AndroidRuntime(7568):     at java.lang.AbstractStringBuilder.indexAndLength(AbstractStringBuilder.java:212)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:206)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at java.lang.StringBuffer.charAt(StringBuffer.java:346)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at com.android.org.bouncycastle.asn1.x509.X509NameTokenizer.nextToken(X509NameTokenizer.java:78)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at com.android.org.bouncycastle.asn1.x509.X509Name.<init>(X509Name.java:719)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at com.android.org.bouncycastle.asn1.x509.X509Name.<init>(X509Name.java:655)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at com.android.org.bouncycastle.asn1.x509.X509Name.<init>(X509Name.java:593)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.net.http.SslCertificate$DName.<init>(SslCertificate.java:379)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.net.http.SslCertificate.<init>(SslCertificate.java:189)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.net.http.SslCertificate.<init>(SslCertificate.java:178)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.webkit.BrowserFrame.setCertificate(BrowserFrame.java:1206)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.webkit.JWebCoreJavaBridge.nativeServiceFuncPtrQueue(Native Method)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:113)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.os.Looper.loop(Looper.java:137)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:814)
08-08 17:22:38.619: E/AndroidRuntime(7568):     at java.lang.Thread.run(Thread.java:841)

私のWebビューは単純です

webview=(WebView)findViewById(R.id.my_web_view);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);

ありがとう

4

2 に答える 2

6

これは Android v4.3 の問題であり、https ページを開こうとしているときに webview でのみ発生します。この問題の詳細については、提供されている問題のリンクをお読みください。

要するに、Android はこの問題を最終的に修正しており、4.3 の次のリリースで利用できるようになるはずです。

于 2013-08-13T10:48:01.220 に答える
-1

rahul.garg は正しいですが、アプリのマニジェスト ファイルに次のアクセス許可を追加することで、この問題を解決できます。
android:name="android.permission.INTERNET" android:name="android.permission.ACCESS_NETWORK_STATE"

于 2014-12-31T14:54:10.673 に答える