2011-01-07 13 views
5

मेरे पास एक ऐसा एप्लिकेशन है जिसमें एक वेबदृश्य शामिल है। वेबव्यू के अंदर उपयोगकर्ता को डिफ़ॉल्ट लॉगिन बटन और प्रमाणीकरण का उपयोग करके फेसबुक में लॉग इन करना होगा। मेरे वेबव्यू में, उपयोगकर्ता के हाथ में हैंडशेक यूआरएल में लॉग इन करने के बाद "एक्सेस अस्वीकृत ... उपयोगकर्ता ने आपका अनुरोध अस्वीकार कर दिया" त्रुटि है। हालांकि, जब मैं कोर ब्राउज़र में एक ही यूआरएल पर जाता हूं, तो सबकुछ अपेक्षित काम करता है और उपयोगकर्ता सफलतापूर्वक लॉग इन हो जाता है। मुझे लगता है कि वेबव्यू क्लाइंट या वेब क्रोम क्लाइंट में मेरे वेबव्यू को पूर्ण ब्राउज़र क्षमता देने के लिए कुछ विधियां लागू करने की आवश्यकता है। हालांकि, मुझे नहीं पता कि क्या करना है। विचार?फेसबुक के साथ एंड्रॉइड वेबव्यू लॉग इन

+0

हे .. क्या तुमने कभी पाया है समाधान की तरह अपनी सामग्री से पता चला है? मुझे थोड़ी सी समस्या का सामना करना पड़ रहा है लेकिन इसे हल करने के लिए कोई अच्छा संसाधन नहीं मिल रहा है। –

+0

क्या आप इसके लिए कोड नमूना जोड़ सकते हैं? –

उत्तर

2

ठीक है आप अपने कार्यान्वयन के लिए फेसबुक एसडीके का उपयोग कर सकते हैं।

मूल रूप से वेब दृश्य में वे इस के लिए इस

private void setUpWebView(int margin) { 
     LinearLayout webViewContainer = new LinearLayout(getContext()); 
     mWebView = new WebView(getContext()); 
     mWebView.setVerticalScrollBarEnabled(false); 
     mWebView.setHorizontalScrollBarEnabled(false); 
     mWebView.setWebViewClient(new FbDialog.FbWebViewClient()); 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.loadUrl(mUrl); 
     mWebView.setLayoutParams(FILL); 
     mWebView.setVisibility(View.INVISIBLE); 
     mWebView.getSettings().setSavePassword(false); 

     webViewContainer.setPadding(margin, margin, margin, margin); 
     webViewContainer.addView(mWebView); 
     mContent.addView(webViewContainer); 
    } 

    private class FbWebViewClient extends WebViewClient { 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      Util.logd("Facebook-WebView", "Redirect URL: " + url); 
      if (url.startsWith(Facebook.REDIRECT_URI)) { 
       Bundle values = Util.parseUrl(url); 

       String error = values.getString("error"); 
       if (error == null) { 
        error = values.getString("error_type"); 
       } 

       if (error == null) { 
        mListener.onComplete(values); 
       } else if (error.equals("access_denied") || 
          error.equals("OAuthAccessDeniedException")) { 
        mListener.onCancel(); 
       } else { 
        mListener.onFacebookError(new FacebookError(error)); 
       } 

       FbDialog.this.dismiss(); 
       return true; 
      } else if (url.startsWith(Facebook.CANCEL_URI)) { 
       mListener.onCancel(); 
       FbDialog.this.dismiss(); 
       return true; 
      } else if (url.contains(DISPLAY_STRING)) { 
       return false; 
      } 
      // launch non-dialog URLs in a full browser 
      getContext().startActivity(
        new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 
      return true; 
     } 
संबंधित मुद्दे