2016-05-30 4 views
1

私は、既存のPHP WebサイトのAndroidアプリで作業しています。このウェブサイトにはFacebook経由のログインパスがあり、ユーザーがログインするとメインページにリダイレクトされます。問題は、私が自分のアプリにログインしたいときです(私は既にアプリの中にウェブサイトを見るためにwebviewを使ってアプリを作りました)。さて、この問題は、ログイン用のボタン(アプリを使用)をクリックすると発生します。ウェブサイトではすべてがうまくいく。しかし、webviewでは、インプットにインフォメーションを導入した後、スクリーンが白くなり、アプリを待つか閉じて、再び開くと、ボタンを押してログインすると、その白い画面が表示されます。私はそれがポップアップのためにFacebookにユーザーをログインさせるために開かれていると思うし、その後、ウェブサイトに。しかし、どうすればその問題を解決できますか?私はFacebookのログインボタンを使用していませんが、自分のものです。ポップアップを開くことを避ける方法はありますか?iframeなどにリンクを開き、ログインが肯定的であればiframe/whateverを閉じてmain.phpにリダイレクトしますか?私はこの特定の問題のためにスタックオーバーフローで何の答えも見つけられないので、今すぐ驚いています。あらかじめありがとう!FacebookのログインからのポップアップによるAndroidのWebViewに関する問題

+0

これを確認するには、手動でポップアップを処理する必要があります.http://stackoverflow.com/questions/12648099/making-facebook-login-work-with-an-android-webview/19068076#19068076 –

+0

ありがとう!残念なことに、リンクのコンテンツは私を助けることができませんでした。 – Criss

+0

問題点は何ですか? –

答えて

0

このヘルプがあなたには分かりません。これを試してください。

String redirect_uri = "https://m.facebook.com/v2.1/dialog/oauth/read"; 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      String host = Uri.parse(url).getHost(); 

      if(host.equals("m.facebook.com") || host.equals("www.facebook.com")){ 
       return false; 
      }else { 
       return super.shouldOverrideUrlLoading(view, url); 
      } 



     @Override 
     public void onPageFinished(WebView view, String url) { 
      progressBar.setVisibility(View.INVISIBLE); 

       if (url.startsWith(redirect_uri)) { 
        mWebviewPop.loadUrl(url_with _fblogin);  
        new CountDownTimer(4000,4000) {   // giving the webview a 4s delay to complete the process. 
         @Override 
         public void onTick(long l) { 

         } 

         @Override 
         public void onFinish() { 
          if(mWebviewPop != null){ 
           mWebviewPop.setVisibility(View.GONE); 
           mContainer.removeView(mWebviewPop); 
           mWebviewPop=null; 
           mWebview.loadUrl(url_with _fblogin);  // mWebview is the orginal webview. 
          } 
         } 
        } .start(); 
       } 
      super.onPageFinished(view, url); 
     } 

このMaking facebook login work with an Android Webview .Here mWebviewPopがonCreateWindowのWebViewのであるように、ポップアップを処理するためにonCreateWindowを作成します。お役に立てれば。

+0

ありがとう、私はそれを試してみましょう。 – Criss

関連する問題