[英]Switching Activity when AsyncTask (Facebook login) is running in the background in Android App
因此,單擊按鈕,將彈出Facebook登錄對話框。 用戶登錄后,我想再轉到另一個活動。 問題是,當我完成Facebook工作並開始新活動時,該活動在登錄過程完成之前就開始了。 關於如何才能僅在登錄過程完成后才能啟動新活動的任何想法? 謝謝。
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Session s = new Session(MainActivity.this);
Session.setActiveSession(s);
Session.OpenRequest request = new Session.OpenRequest(
MainActivity.this);
request.setPermissions(Arrays.asList("public_profile", "email"));
request.setCallback(new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
Request.newMeRequest(session,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user,
Response response) {
if (user != null) {
userName = user.getName();
userEmail = (String) user
.getProperty("email");
userID = user.getId();
} else {
Toast.makeText(
getApplicationContext(),
"Error User Null",
Toast.LENGTH_SHORT)
.show(); }
}
}).executeAsync();
}
}
}); // end of call;
s.openForRead(request);
startActivity(new Intent(MainActivity.this, NextActivity.class));
}
});
移動電話
startActivity(new Intent(MainActivity.this, NextActivity.class));
在if (user != null)
塊中的onCompleted
中。 至此, MeRequest
已完成,並且已成功返回用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.