instagram登录到webview [英] instagram sign in webview

查看:133
本文介绍了instagram登录到webview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的应用程序中集成Instagram身份验证.但是我不知道如何使我的Webview全屏显示吗?

I am trying to integrate Instagram auth in my app. But i don`t know how to make my webview full screen ?

Instagram对话框

这是我的 InstagramDialog.java

 public class InstagramDialog extends Dialog {
        static final float[] DIMENSIONS_LANDSCAPE = { 460, 260 };
        static final float[] DIMENSIONS_PORTRAIT = { 420, 420 };
        static final FrameLayout.LayoutParams FILL = new FrameLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
        static final int MARGIN = 0;
        static final int PADDING = 0;
        private static final String TAG = "InstagramApp-WebView";

        public InstagramDialog(Context context, String url,
                               OAuthDialogListener listener) {
            super(context);
            mUrl = url;
            mListener = listener;
        }

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            mSpinner = new ProgressDialog(getContext());
            mSpinner.requestWindowFeature(Window.FEATURE_NO_TITLE);
            mSpinner.setMessage("Loading...");
            mContent = new LinearLayout(getContext());
            mContent.setOrientation(LinearLayout.VERTICAL);
            setUpTitle();
            setUpWebView();

            Display display = getWindow().getWindowManager().getDefaultDisplay();
            final float scale = getContext().getResources().getDisplayMetrics().density;
            float[] dimensions = (display.getWidth() < display.getHeight()) ? DIMENSIONS_PORTRAIT
                    : DIMENSIONS_LANDSCAPE;

            addContentView(mContent, new FrameLayout.LayoutParams(
                    (int) (dimensions[0] * scale + 0.5f), (int) (dimensions[1]
                    * scale + 0.5f)));
            CookieSyncManager.createInstance(getContext());
            CookieManager cookieManager = CookieManager.getInstance();
            cookieManager.removeAllCookie();
        }

        private void setUpTitle() {
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            mTitle = new TextView(getContext());
            mTitle.setText("InstagramApp");
            mTitle.setTextColor(Color.WHITE);
            mTitle.setTypeface(Typeface.DEFAULT_BOLD);
            mTitle.setBackgroundColor(Color.BLACK);
            mTitle.setPadding(MARGIN + PADDING, MARGIN, MARGIN, MARGIN);
            mContent.addView(mTitle);
        }

        private void setUpWebView() {
            mWebView = new WebView(getContext());
            mWebView.setVerticalScrollBarEnabled(false);
            mWebView.setHorizontalScrollBarEnabled(false);
            mWebView.setWebViewClient(new OAuthWebViewClient());
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl(mUrl);
            mWebView.setLayoutParams(FILL);
            mContent.addView(mWebView);
        }

        private class OAuthWebViewClient extends WebViewClient {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Log.d(TAG, "Redirecting URL " + url);
                if (url.startsWith(InstagramApp.mCallbackUrl)) {
                    String urls[] = url.split("=");
                    mListener.onComplete(urls[1]);
                    InstagramDialog.this.dismiss();
                    return true;
                }
                return false;
            }
        }

链接到我的完整课程 https://github.com/mykolamatsiakh/felix_for_max/blob/master/app/src/main/java/com/flag/app/instagramSignIn/InstagramDialog.java

推荐答案

这是因为要在对话框中加载整个登录页面. 如果您正在寻找全屏登录页面,则应将其加载到新视图中

It's because you are loading the whole login page inside a dialog. If you are looking for a fullscreen login page, you should load it on a new view

祝你好运

这篇关于instagram登录到webview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆