我创建了一个需要从 Facebook/Twitter/Google 登录才能开始的应用程序。在一个布局中,我为 Facebook、Twitter 和 Google 分别创建了三个开关,它们具有 ON 和 OFF 选项。如果用户从相应帐户登录,我想将特定帐户的开关设为“开启”。例如,如果用户从 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();
}
}
}