だから、ここに私のログイン機能があります:
public void facebookLogin()
{
shareAppPreferences = new AppPreferences(getApplicationContext());
facebook = ((GlobalVars)getApplicationContext()).facebook;
String access_token = shareAppPreferences.getAccessToken();
long expires = shareAppPreferences.getAccessExpires();
Log.d("MyTag","token:" +access_token);
if(access_token != null) {
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
/*
* Only call authorize if the access_token has expired.
*/
if(!facebook.isSessionValid()) {
Log.d("MyTag","In Authorize");
facebook.authorize(this, new String[] {}, new DialogListener() {
@Override
public void onComplete(Bundle values) {
// new AccessKeyTask().execute("http://37.49.226.66/allaroundme/requests.php");
shareAppPreferences.saveAccessToken(facebook.getAccessToken());
Log.d("MyTag","face token: " +facebook.getAccessToken());
shareAppPreferences.saveAccessExpires(facebook.getAccessExpires());
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
Intent intent = new Intent(this,MainActivity.class);
Log.d("MyTag", "starting activity");
startActivity(intent);
}
このコードが機能しない理由がよくわかりません。そのコードを使用する前に、Facebook アプリから Facebook をログアウトしました。onComplete() は発生しないようで、アクセス トークンは常に null です。最初のログイン後は、情報を入力する必要はありません。誰でもここで私を助けることができますか?