0

我正在尝试使用 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();
                }                                       
            }
        });

    }

但是按钮冻结并没有发生任何事情。

任何想法为什么会发生这种情况?

4

0 回答 0