我創建了一個需要從Facebook/Twitter/Google登錄才能開始使用的應用程序。在一個佈局中,我爲Facebook,Twitter和谷歌分別創建了三個開關,其中有開啓和關閉選項。如果用戶從相應帳戶登錄,我想將特定帳戶的開關設置爲「開」。例如,如果用戶從Facebook登錄,只有Facebook旁邊的開關應該打開。我怎樣才能做到這一點?如何以不同的佈局顯示登錄信息?
任何建議,將不勝感激,如果有人知道,那麼請向我介紹任何教程與此有關。 以下是我的登錄頁面的代碼。我已經展示了對於Facebook的一部分登錄: 感謝名單:)
private OnClickListener loginButtonListener = new OnClickListener() {
@SuppressWarnings("deprecation")
public void onClick(View v) {
String[] permissions = { "offline_access", "publish_stream", "user_photos", "publish_checkins","photo_upload" };
if(v.getId() == R.id.button1)
{
facebookSwitch = true;
twitterSwitch = false;
googleSwitch = false;
if(!mFacebook.isSessionValid()) {
Toast.makeText(Login.this, "Authorizing", Toast.LENGTH_SHORT).show();
mFacebook.authorize(Login.this, permissions, new LoginDialogListener());
}
else {
Toast.makeText(Login.this, "Has valid session", Toast.LENGTH_SHORT).show();
try {
JSONObject json = Util.parseJson(mFacebook.request("me"));
//Log.d("Login", "11111111111111111");
String facebookID = json.getString("id");
//Log.d("Login", "22222222222222");
String firstName = json.getString("first_name");
//Log.d("Login", "3333333333333333333");
String lastName = json.getString("last_name");
//Log.d("Login", "4444444444444444444444");
Toast.makeText(Login.this, "You already have a valid session, " + firstName + " " + lastName + ". No need to re-authorize.", Toast.LENGTH_LONG).show();
Intent intent = new Intent(Login.this,MainActivity.class);
startActivity(intent);
}
catch(Exception error) {
Toast.makeText(Login.this, error.toString(), Toast.LENGTH_SHORT).show();
}
catch(FacebookError error) {
Toast.makeText(Login.this, error.toString(), Toast.LENGTH_SHORT).show();
}
}
}
@Aashish看到編輯後的答案..因此在閱讀之前刷新它會更好。 –