繁体   English   中英

如何在Facebook App中重定向Facebook登录屏幕

[英]How to redirect Facebook Login screen in Facebook App

我创建了一个android应用,因为我想从中重定向Facebook登录屏幕。

如何使其成为可能?

这是我的facebook课,它的工作非常好。 只需尝试一下,您就会从Simple Facebook中学到很多东西。 不要考虑下面的一些异常代码。

public class IjoomerFacebookSharingActivity extends Activity {

        private SimpleFacebook simpleFacebook;
        private SimpleFacebookConfiguration.Builder simpleFacebookConfigurationBuilder;
        private SimpleFacebookConfiguration simpleFacebookConfiguration;

        private String IN_MESSAGE;
        private String IN_CAPTION;
        private String IN_NAME;
        private String IN_PICTURE;
        private String IN_LINK;
        private String IN_DESCRIPTION;
        @Override
        public String[] setTabItemNames() {
            return new String[0];
        }

        @Override
        public int setTabBarDividerResId() {
            return 0;
        }

        @Override
        public int setTabItemLayoutId() {
            return 0;
        }

        @Override
        public int[] setTabItemOnDrawables() {
            return new int[0];
        }

        @Override
        public int[] setTabItemOffDrawables() {
            return new int[0];
        }

        @Override
        public int[] setTabItemPressDrawables() {
            return new int[0];
        }

        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int i) {

        }

        @Override
        public int setLayoutId() {
            return R.layout.facebook_main;
        }

        @Override
        public View setLayoutView() {
            return null;
        }

        @Override
        public int setHeaderLayoutId() {
            return 0;
        }

        @Override
        public int setFooterLayoutId() {
            return 0;
        }

        @Override
        public void initComponents() {
            simpleFacebook = SimpleFacebook.getInstance(this);
            simpleFacebookConfigurationBuilder = new SimpleFacebookConfiguration.Builder();
            simpleFacebookConfigurationBuilder.setAppId(getString(R.string.facebook_app_id));
            simpleFacebookConfigurationBuilder.setPermissions(new Permissions[]{Permissions.PUBLISH_ACTION,Permissions.PUBLISH_STREAM,Permissions.EMAIL,Permissions.BASIC_INFO,Permissions.USER_PHOTOS});
            simpleFacebookConfiguration = simpleFacebookConfigurationBuilder.build();
            SimpleFacebook.setConfiguration(simpleFacebookConfiguration);

        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data)
        {
            simpleFacebook.onActivityResult(this, requestCode, resultCode, data);
            super.onActivityResult(requestCode, resultCode, data);
        }

        @Override
        public void prepareViews() {
            getIntentData();
            if(simpleFacebook.isLogin()){
                publishFeed();
            }else{
                simpleFacebook.login(new OnLoginListener());
            }

        }

        private void getIntentData(){
            IN_MESSAGE = getIntent().getStringExtra("IN_MESSAGE")==null ?"":getIntent().getStringExtra("IN_MESSAGE");
            IN_CAPTION = getIntent().getStringExtra("IN_CAPTION")==null ?"":getIntent().getStringExtra("IN_CAPTION");
            IN_DESCRIPTION = getIntent().getStringExtra("IN_DESCRIPTION")==null ?"":getIntent().getStringExtra("IN_DESCRIPTION");
            IN_NAME = getIntent().getStringExtra("IN_NAME")==null ?"":getIntent().getStringExtra("IN_NAME");
            IN_PICTURE = getIntent().getStringExtra("IN_PICTURE")==null ?"":getIntent().getStringExtra("IN_PICTURE");
            IN_LINK = getIntent().getStringExtra("IN_LINK")==null ?"":getIntent().getStringExtra("IN_LINK");
        }

        @Override
        public void setActionListeners() {

        }

        private void publishFeed(){
            final Feed feed = new Feed.Builder()
                    .setMessage(IN_MESSAGE)
                    .setName(IN_NAME)
                    .setCaption(IN_CAPTION)
                    .setDescription(IN_DESCRIPTION)
                    .setPicture(IN_PICTURE)
                    .setLink(IN_LINK)
                    .build();
            simpleFacebook.publish(feed, new onPublishListener());
        }

        class OnLoginListener implements SimpleFacebook.OnLoginListener{


            @Override
            public void onLogin() {
                publishFeed();
            }

            @Override
            public void onNotAcceptingPermissions() {
            }

            @Override
            public void onThinking() {
            }

            @Override
            public void onException(Throwable throwable) {
            }

            @Override
            public void onFail(String reason) {
                IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),reason, getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() {

                    @Override
                    public void NeutralMethod() {
                    }
                });
            }
        }

        class onPublishListener implements SimpleFacebook.OnPublishListener{


            @Override
            public void onComplete(String id) {
                hideProgressDialog();
                IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),getString(R.string.facebook_share_success), getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() {

                    @Override
                    public void NeutralMethod() {
                        finish();
                    }
                });
            }

            @Override
            public void onThinking() {
                showProgressDialog("Doing Facebook Sharing...",IjoomerFacebookSharingActivity.this,true);
            }

            @Override
            public void onException(Throwable throwable) {
                hideProgressDialog();
                throwable.printStackTrace();
            }

            @Override
            public void onFail(String reason) {
                hideProgressDialog();
                IjoomerUtilities.getCustomOkDialog(getString(R.string.friend),reason, getString(R.string.ok), R.layout.ijoomer_ok_dialog, new CustomAlertNeutral() {

                    @Override
                    public void NeutralMethod() {
                    }
                });
            }
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM