ユーザーがアプリにログインするために Facebook ログインを使用するアプリを開発しました。以下はコードです。
public class MokoActivity extends Activity implements OnClickListener{
TextView create_account;
EditText name;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
create_account=(TextView)findViewById(R.id.textView_createAccount);
name=(EditText)findViewById(R.id.editText_name);
create_account.setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.textView_createAccount:
String user_name=name.getText().toString();
if(user_name.length()<4){
Toast toast=Toast.makeText(MokoActivity.this,"Invalid Name",Toast.LENGTH_LONG);
toast.show();
}
else{
Session.openActiveSession(this, true,new Session.StatusCallback(){
public void call(Session session,SessionState state,Exception exception){
if(state.isOpened()){
Intent intent=new Intent(MokoActivity.this,HomeActivity.class);
intent.putExtra("username",name.getText().toString());
startActivity(intent);
}
}
});
}
break;
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
}
Android用のFacebookがインストールされている場合にのみ、ログイン後にHomeActivityインテントにリダイレクトされないという点だけが正常に機能します。機能させるには、Android用のFacebookをアンインストールする必要があります。