在Android API 19上使用firebase登录Twitter失败(但适用于API 21+;)

在Android API 19上使用firebase登录Twitter失败(但适用于API 21+;),twitter,firebase-authentication,android-4.4-kitkat,Twitter,Firebase Authentication,Android 4.4 Kitkat,基本上问题是: 我正在为一个项目开发一个android应用程序。 此应用程序必须在Android API 19(4.4)上运行 我必须让用户能够使用谷歌、facebook和twitter帐户登录 目前我的应用程序在API21和post上运行良好。 但是,当在API 19上的设备上运行应用程序时,使用twitter登录失败(其他登录工作正常) 09-12 22:50:40.600 11140-11140/com.leprincesylvain.ocproject7.twitterloginapi1

基本上问题是: 我正在为一个项目开发一个android应用程序。 此应用程序必须在Android API 19(4.4)上运行 我必须让用户能够使用谷歌、facebook和twitter帐户登录

目前我的应用程序在API21和post上运行良好。 但是,当在API 19上的设备上运行应用程序时,使用twitter登录失败(其他登录工作正常)

09-12 22:50:40.600 11140-11140/com.leprincesylvain.ocproject7.twitterloginapi19 E/Twitter:授权已完成,但出现错误
com.twitter.sdk.android.core.TwitterAuthException:无法获取请求令牌
位于com.twitter.sdk.android.core.identity.OAuthController$1.failure(OAuthController.java:94)
位于com.twitter.sdk.android.core.internal.oauth.OAuth1aService$1.failure(OAuth1aService.java:191)
位于com.twitter.sdk.android.core.Callback.onFailure(Callback.java:48)
在2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$2.run处(ExecutorCallAdapterFactory.java:77)
位于android.os.Handler.handleCallback(Handler.java:733)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:136)
位于android.app.ActivityThread.main(ActivityThread.java:5017)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
在dalvik.system.NativeStart.main(本机方法)
09-12 22:50:40.600 11140-11140/com.leprincesylvain.ocproject7.twitterloginapi19 E/TwitterProvider:登录Twitter失败。无法获取请求令牌
我读过很多话题,几乎所有人(我的意思是95%)都在说同样的话:

回调URL

twittersdk://

好吧,在那里做过,什么也没做

我还把

XXX.firebaseapp.com/__/auth/handler
(以防万一)

firebase上的ID很好(无论如何,如果不是的话,我认为登录应用程序不应该在21和+)上工作

我的活动代码:


导入android.content.Intent;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.Button;
导入android.widget.Toast;
导入androidx.annotation.NonNull;
导入androidx.annotation.Nullable;
导入androidx.appcompat.app.appcompat活动;
导入com.facebook.AccessToken;
导入com.facebook.AccessTokenTracker;
导入com.facebook.CallbackManager;
导入com.facebook.facebook回调;
导入com.facebook.facebook异常;
导入com.facebook.FacebookSdk;
导入com.facebook.login.LoginManager;
导入com.facebook.login.LoginResult;
导入com.google.android.gms.tasks.OnCompleteListener;
导入com.google.android.gms.tasks.Task;
导入com.google.firebase.auth.AuthCredential;
导入com.google.firebase.auth.AuthResult;
导入com.google.firebase.auth.FacebookAuthProvider;
导入com.google.firebase.auth.FirebaseAuth;
导入com.google.firebase.auth.FirebaseUser;
导入com.google.firebase.auth.TwitterAuthProvider;
导入com.leprincesylvain.ocproject7.go4lunch.R;
导入com.twitter.sdk.android.core.Callback;
导入com.twitter.sdk.android.core.DefaultLogger;
导入com.twitter.sdk.android.core.Result;
导入com.twitter.sdk.android.core.twitter;
导入com.twitter.sdk.android.core.TwitterAuthConfig;
导入com.twitter.sdk.android.core.TwitterConfig;
导入com.twitter.sdk.android.core.TwitterException;
导入com.twitter.sdk.android.core.twitter会话;
导入com.twitter.sdk.android.core.identity.TwitterLoginButton;
导入java.util.array;
公共类StartActivity扩展了AppCompative活动{
公共静态最终字符串TAG=“StartActivity\u TAG”;
按钮googleLoginButton,facebookLoginButton;
TwitterLoginButton TwitterLoginButton;
FirebaseAuth FirebaseAuth;
FirebaseAuth.AuthStateListener AuthStateListener;
AccessTokenTracker AccessTokenTracker;
私人CallbackManager CallbackManager;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
Log.d(标记“onCreate:”);
super.onCreate(savedInstanceState);
TwitterAuthConfig mTwitterAuthConfig=新TwitterAuthConfig(getString(R.string.twitter\u api\u key),
getString(R.string.twitter_secret_key));
TwitterConfig TwitterConfig=新建TwitterConfig.Builder(此)
.logger(新的DefaultLogger(Log.DEBUG))
.twitterAuthConfig(mTwitterAuthConfig)
.debug(true)
.build();
初始化(twitterConfig);
setContentView(R.layout.activity_start);
googleLoginButton=findViewById(R.id.start\u activity\u button\u google\u login);
facebookLoginButton=findViewById(R.id.start\u activity\u button\u facebook\u login);
twitterLoginButton=findviewbyd(R.id.start\u activity\u button\u twitter\u login);
firebaseAuth=firebaseAuth.getInstance();
sdkinInitialize(getApplicationContext());
callbackManager=callbackManager.Factory.create();
getAccessTokenTracker();
}
私有void signInToFirebaseWithTwitterSession(TwitterSession TwitterSession){
Log.d(标记“SigningToFirebaseWithTwitterSession:”);
AuthCredential credential=TwitterAuthProvider.getCredential(twitterSession.getAuthToken().token,twitterSession.getAuthToken().secret);
firebaseAuth.signInWithCredential(凭证)
.addOnCompleteListener(这是新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
如果(!task.issusccessful()){
Log.d(标记“onComplete:使用twitter登录失败”);
}
}
});
}
私有无效getF