我正在尝试使用Facebook登录并将用户的信息传递给另一个活动 问题是当我运行startActivity方法时意图onclick事件被冻结并且什么都不做
我创建了一个实现Serializable的类,它包含几个字符串
然后当用户使用facebook登录时我创建了该类的实例,以便我可以将其传递给其他活动
继承人代码:
Session.openActiveSession(me, true, new StatusCallback()
{
@Override
public void call(Session session, SessionState state, Exception exception)
{
if(session.isOpened())
{
Request.executeMeRequestAsync(session, new Request.GraphUserCallback()
{
@Override
public void onCompleted(GraphUser user, Response response)
{
if(user!=null)
{
GraphLocation location= user.getLocation();
String address = location.getStreet()+","+location.getCity()+","+location.getState()+","+location.getCountry();
b.setVisibility(View.VISIBLE);
Fuser = new FBuser(
user.getName(),
user.getFirstName(),
user.getLastName(),
user.getBirthday(),
user.getId(),
user.getInnerJSONObject(),
user.getLink(),
address,
user.getUsername());
}
}
});
}
}
});
你可以看到我设置一个按钮可见,当用户点击按钮时,我启动活动并传递用户对象:
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
final Login log = (Login) me;
final FBuser user = Fuser;
final Intent i = new Intent(getBaseContext(),Profile.class);
i.putExtra("user", user);
try
{
log.startActivity(i);
}
catch (Exception e)
{
e.getMessage();
}
}
});
}
但没有任何事情发生按钮冻结,没有任何事情发生。
为什么会发生这种情况的任何想法?