1

我正在使用 Twitter 工具包在 Android 应用程序上提供登录工具。

我正在使用这些依赖项-

compile 'com.twitter.sdk.android:twitter-core:3.1.1'
compile 'com.twitter.sdk.android:tweet-ui:3.1.1'

我在 Application Context 类中像这样初始化它 -

TwitterConfig config = new TwitterConfig.Builder(getApplicationContext())
                .logger(new DefaultLogger(Log.DEBUG))
                .twitterAuthConfig(new TwitterAuthConfig(getString(R.string.Twitter_CONSUMER_KEY), getString(R.string.Twitter_CONSUMER_SECRET)))
                .debug(false)
                .build();
Twitter.initialize(config);

在我的活动中,我在调用 Twitter API 以进行登录的按钮上为 Click listener 提供了此代码。twitter_login是一个文本视图。-

twitter_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                mTwitterAuthClient = new TwitterAuthClient();

                mTwitterAuthClient.authorize(getActivity(), new Callback<TwitterSession>() {

                    @Override
                    public void success(Result<TwitterSession> twitterSessionResult) {
                        session = TwitterCore.getInstance().getSessionManager().getActiveSession();
                        TwitterAuthToken authToken = session.getAuthToken();

                        twitter_token = authToken.token;
                        twitter_secret = authToken.secret;

                        if (mTwitterAuthClient != null) {
                            (mTwitterAuthClient.requestEmail(session, new com.twitter.sdk.android.core.Callback<String>() {
                                @Override
                                public void success(Result<String> emailResult) {
                                    emailFromTwitter = emailResult.data;

                                }

                                @Override
                                public void failure(TwitterException e) {

                                    String error_message = e.getMessage();
                                }
                            });
                        }

                    }

                    @Override
                    public void failure(TwitterException e) {

                    }
                });

我在 onActivityResult 里面有这个 -

mTwitterAuthClient.onActivityResult(requestCode, resultCode, data);

情况是这样的

  1. 当我点击twitter_login时,如果我在我的 Android 手机上安装了Twitter 应用程序,它会显示授权屏幕并且登录工作正常。

  2. 但是,当我点击twitter_login时,如果我的 Android 手机上没有安装 Twitter 应用程序,我什至不会看到登录屏幕。在这种情况下,如何提示用户输入他/她的推特凭据进行登录?

为什么会这样?如何解决?我做错什么了吗?

4

1 回答 1

0

您必须添加回调 URL 在https://apps.twitter.com中打开您的应用程序并选择您的应用,在设置选项卡中添加回调 URL,如下 twittersdk://

参考: 链接

于 2018-07-05T12:19:05.490 回答