我正在使用 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);
情况是这样的
当我点击twitter_login时,如果我在我的 Android 手机上安装了Twitter 应用程序,它会显示授权屏幕并且登录工作正常。
但是,当我点击twitter_login时,如果我的 Android 手机上没有安装 Twitter 应用程序,我什至不会看到登录屏幕。在这种情况下,如何提示用户输入他/她的推特凭据进行登录?
为什么会这样?如何解决?我做错什么了吗?