開始するには、Facebook / Twitter/Googleからのサインインが必要なアプリケーションを作成しました。レイアウトでは、Facebook、Twitter、Google用にそれぞれ3つのスイッチを作成しました。これらのスイッチには、オンとオフのオプションがあります。ユーザーが対応するアカウントからログインしている場合、特定のアカウントの切り替えを「オン」にしたい。たとえば、ユーザーがFacebookからログインしている場合、Facebookの横にあるスイッチのみをオンにする必要があります。どうやってやるの?
任意の提案をいただければ幸いです。また、誰かが知っている場合は、これに関連するチュートリアルを参照してください。以下はログインページの私のコードです。Facebookの部分のログインを示しました:Thanx :)
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();
}
}
}