public class FacebookConnect extends Activity {
Facebook facebook = new Facebook("");
String FILENAME = "AndroidSSO_data";
private SharedPreferences mPrefs;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*
* Get existing access_token if any
*/
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
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()) {
facebook.authorize(this, new String[] {}, new DialogListener() {
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
public void onFacebookError(FacebookError error) {}
public void onError(DialogError e) {}
public void onCancel() {}
});
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(this.facebook);
asyncRunner.request("me", new meRequestListener());
}
}
Das ist mein Code, um mich mit FB zu verbinden. Ich habe zwei Zweifel daran: 1. Wie bekomme ich die Benutzerinformationen? (FB-Name) 2. Wie speichere ich es in der Datenbank. Das Problem hierbei ist, dass selbst wenn ich einem Benutzer die Möglichkeit gebe, sich über Facebook anzumelden, andere Benutzer mit demselben Namen existieren können. Also, erlaubt mir fb, ihre E-Mail-Adresse zu erhalten, um einen eindeutigen Eintrag in der Datenbank zu erstellen?Wie verwende ich fb connect in der Android App?