我正在尝试使用 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();
}
}
});
}
但是按钮冻结并没有发生任何事情。
任何想法为什么会发生这种情况?