gpt4 book ai didi

android - 登录 Facebook 后开始新 Activity

转载 作者:行者123 更新时间:2023-11-30 01:42:46 24 4
gpt4 key购买 nike

我正在将 facebook 登录集成到我的应用程序中。它工作正常,但我想在成功登录后开始一项新 Activity 。新 Activity 未启动这是我的代码。

       @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();

setContentView(R.layout.activity_register_skip);

skip = (TextView) findViewById(R.id.textViewSkip);
register = (Button) findViewById(R.id.buttonRegisterOne);

skip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SessionHandler handler = new SessionHandler(RegisterSkipActivity.this.getApplicationContext());
handler.storeLoginSession("guest");
SharedPreferences.Editor editor = getSharedPreferences(
"MyPref", MODE_PRIVATE).edit();
String p_name ="guest";
editor.putString("personName", p_name);
editor.putString("TAG", "guest");
editor.commit();
Intent intent = new Intent(RegisterSkipActivity.this, MainActivity.class);
intent .putExtra("username","Guest");
startActivity(intent);
}
});

register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});
/////fb and g+
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.techieweb.solutions.pickeronline",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

loginButton = (LoginButton) findViewById(R.id.login_button);
btnSignIn = (SignInButton) findViewById(R.id.btn_sign_in);
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
btnSignIn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
signIn();
}
});
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
type = "1";
loginResult.getAccessToken().getToken());
Log.e("In onSuccess","onsuccess");
Intent intent = new Intent(RegisterSkipActivity.this, MainActivity.class);
intent.putExtra("Login", type);
startActivity(intent);

}


@Override
public void onCancel() {
// info.setText("Login attempt cancelled.");
Log.e("In onCancel","oncancel");
}

@Override
public void onError(FacebookException e) {
//info.setText("Login attempt failed.");
Log.e("In onError","onerror");
}
});

}

没有错误。显示 facebook 的登录屏幕。仅未启动新 Activity 。请帮助我

最佳答案

您错过了 onactivityresult 部分。 !!!

问题似乎是您在登录成功后没有在 onActivityResult 上触发 callbackManager。这就是为什么不调用"onsuccess"、"onfailure"或"onerror" 方法的原因。

检查以下代码。将其粘贴到您的 Activity 类中

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

Reference link From Facebook Official.

如果您有任何疑问,请告诉我。

关于android - 登录 Facebook 后开始新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34216562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com