在 Android 中使用 facebook 登录/注册时,facebook 发送请求需要一段时间。因此,我如何暂停活动(显示进程对话框),直到我获得尝试注册的用户的 facebook id/用户名?我不能在基本侦听器中执行此操作,因为它是一个后台进程。
我尝试使用 AsyncTask,但我要么对如何做感到困惑,要么无法做到。主要是前者。我这样做了:
public class FacebookOperation extends AsyncTask<Void, Void, Void>
{
@Override
protected void onPreExecute()
{
super.onPreExecute();
mFacebook = new Facebook(APP_ID);
mAsyncRunner = new AsyncFacebookRunner(mFacebook);
reg = "facebook";
SessionStore.restore(mFacebook, Register.this);
SessionEvents.addAuthListener(new SampleAuthListener());
//SessionEvents.addLogoutListener(new SampleLogoutListener());
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Void result)
{
fillFormFb(); //Fills the form with the data from fb
}
@Override
protected Void doInBackground(Void... params) {
mLoginButton.init(Register.this, mFacebook,permissions);
return null;
}
}