2016-07-22 16 views
1

Webviewでのログインはうまくいきますが、2番目のページはFacebook SDKからresponse.status === 'connected'を回復しません。.setAcceptThirdPartyCookiesを使用してネイティブアプリに対応する

私はここで解決策を見つけましたChecking Facebook login state in a webView always returns unknownしかし、私のアプリケーションはアンドロイドネイティブではありません。ネイティブアプリケーションどこかどのように私は次のことを確認することができる反応で


If (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {CookieManager.getInstance().setAcceptThirdPartyCookies(mainWebView, true); }

答えて

1

私はこれが遅れて来て知っているが、他の誰かが、私はこれが役立つと思いますAndroid上のWebView内のクッキーに問題がある場合。

webview内でサードパーティのCookieを有効にするには、いくつかのJavaコードを変更する必要があります。

実際にbuild react native from sourceにファイルを変更し、react-native/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.javaファイルを変更し、webviewが作成された場所に追加するか、サードパーティのCookieを有効にする反応webviewプロパティを公開します。私の場合は

私はWebViewのはWebViewののデバッグを有効にするには、次の行の上に初期化された直後createViewInstance方法でこれを追加しました:

if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
    WebView.setWebContentsDebuggingEnabled(true); 
} 

私のコードは次のようになります。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true); 
} 

if (ReactBuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
    WebView.setWebContentsDebuggingEnabled(true); 
} 
関連する問題