Пример #1
0
    @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;
    }