[英]How can I start another activity after successful facebook login?
我是Facebook登錄的新手。 我已經成功地讓我的用戶能夠使用facebook進行注冊並從其個人資料中獲取一些信息。 但是,我無法開始下一個活動。 我將如何開始下一個活動。 這是我的代碼:
private LoginButton loginButton;
private CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_start);
final Context context = this;
// Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
// setSupportActionBar(toolbar);
session = new SessionManager(getApplicationContext());
final SharedPreferences user_data = getSharedPreferences("USER_PREFS", Context.MODE_PRIVATE);
sharedpreferences = getSharedPreferences(USER_PREFS, Context.MODE_PRIVATE);
final SharedPreferences.Editor editor = sharedpreferences.edit();
// session.checkLogin();
loginButton = (LoginButton)findViewById(R.id.login_button);
loginButton.setReadPermissions(Arrays.asList(
"public_profile", "email", "user_friends"));
callbackManager = CallbackManager.Factory.create();
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.v("LoginActivity", response.toString());
// Application code
try {
editor.putString(user_email, object.getString("email"));
editor.putString(user_name, object.getString("name"));
editor.putString(user_dob, object.getString("birthday"));
editor.putString(user_phone, object.getString("phone"));
editor.apply();
Intent activity = new Intent(getBaseContext(), PhoneActivity.class);
startActivity(activity);
finish();
overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);
} catch (JSONException e) {
e.printStackTrace();
}
// String birthday = object.getString("birthday"); // 01/31/1980 format
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender,birthday");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
// App code
Toast.makeText(getBaseContext(), "Sign up Cancelled", Toast.LENGTH_LONG).show();
}
@Override
public void onError(FacebookException exception) {
// App code
Toast.makeText(getBaseContext(), "Sign up Failed", Toast.LENGTH_LONG).show();
}
});
}
將您的意圖放在嘗試捕獲塊之外
try {
editor.putString(user_email, object.getString("email"));
editor.putString(user_name, object.getString("name"));
editor.putString(user_dob, object.getString("birthday"));
editor.putString(user_phone, object.getString("phone"));
editor.apply();
overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);
} catch (JSONException e) {
e.printStackTrace();
}
//**********over here**************
Intent activity = new Intent(getBaseContext(), PhoneActivity.class);
startActivity(activity);
finish();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.