私のAndroidアプリケーションには2つのアクティビティがあります。最初のものでは、Facebookでログインするようにユーザーに依頼します。ユーザーがログインした後、電子メール、名前などのユーザーデータを収集し、これらのパラメーターを渡す新しいアクティビティを呼び出します。以下は私のFacebook認証方法です:
public void loginFB(final View v)
{
facebook.authorize(this, new String[] { "email", "read_stream" }, new DialogListener() {
@Override
public void onComplete(Bundle values) {
this.getlogininfo(v);
}
private void getlogininfo(View v) {
// TODO Auto-generated method stub
logininfo(v);
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
以下は私のlogininfo()
方法です:
public void logininfo(final View v){
mAsyncRunner.request("me", new RequestListener(){
@Override
public void onComplete(String response, Object state) {
try{
Log.d("Profile", response.toString());
JSONObject json = Util.parseJson(response);
final String fname1 = json.getString("first_name");
final String lname1 = json.getString("last_name");
final String email = json.getString("email");
Intent fbLogged = new Intent();
Bundle passData = new Bundle();
passData.putString("fname", fname1);
passData.putString("lname", lname1);
passData.putString("email", email);
fbLogged.putExtras(passData);
fbLogged.setClass(v.getContext(), RequestFb.class);
startActivity(fbLogged);
}
catch(JSONException e){
Log.w("This", "eror");
}
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
});
}
ですから、私の新しい活動はOnComplete()
、ユーザーデータの取得から始まります。
これは完全に機能しますが、ユーザーがログインをクリックしてFacebookでログインすると、最初のアクティビティページが数秒間画面に表示されたままになり、次のアクティビティが呼び出されます。遅れがあります。どうすればラグを修正できますか?ユーザーがログインをクリックし、ログインが承認された後、ユーザーは2番目のアクティビティに直接移動する必要があります。助言がありますか?
ありがとう!