Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android登录Facebook并开始新活动_Android_Facebook_Android Facebook - Fatal编程技术网

Android登录Facebook并开始新活动

Android登录Facebook并开始新活动,android,facebook,android-facebook,Android,Facebook,Android Facebook,我对登录成功后如何打开新活动表示怀疑 我做了这个教程: 但我想要一个有登录按钮的应用程序,在登录后进入其他活动, 在本教程中,单击“登录”按钮后,将显示“注销”按钮 我不想出现注销按钮 有人可以回答这个问题吗?首先,您可以使用forresult调用facebooklogin活动,如下所示: Intent myIntent = new Intent(this,FacebookActivity_Logon.class ); startActivityForResult(myIntent,2000

我对登录成功后如何打开新活动表示怀疑

我做了这个教程:

但我想要一个有登录按钮的应用程序,在登录后进入其他活动, 在本教程中,单击“登录”按钮后,将显示“注销”按钮 我不想出现注销按钮


有人可以回答这个问题吗?

首先,您可以使用forresult调用facebooklogin活动,如下所示:

Intent myIntent = new Intent(this,FacebookActivity_Logon.class );  
startActivityForResult(myIntent,2000);
 @Override
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);

     if(requestCode==2000)
     {  
        Intent myIntent = new Intent(login.this,another_activity.class);         
        startActivity (myIntent);
        finish(); //if you want to do not use this
     }
}
然后您可以在“活动结果”中调用另一个活动,如下所示:

Intent myIntent = new Intent(this,FacebookActivity_Logon.class );  
startActivityForResult(myIntent,2000);
 @Override
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);

     if(requestCode==2000)
     {  
        Intent myIntent = new Intent(login.this,another_activity.class);         
        startActivity (myIntent);
        finish(); //if you want to do not use this
     }
}

Facebook SDK内部加载登录页面,您需要按照完整说明操作

初始化

private Session.StatusCallback statusCallback = new SessionStatusCallback();
点击事件调用

openActiveSession(this, true, statusCallback);
方法如下

public static Session openActiveSession(Activity activity,
        boolean allowLoginUI, Session.StatusCallback statusCallback) {
        OpenRequest openRequest = new OpenRequest(activity);
        openRequest.setPermissions(CommonAppUtils.FB_BASIC_PERMISSIONS);
        openRequest.setCallback(statusCallback);

        Session session = new Session.Builder(activity).build();

        if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState())
                || allowLoginUI) {
            Session.setActiveSession(session);
            session.openForRead(openRequest);

            return session;
        }

        return null;
    }
创建状态回调实现

private class SessionStatusCallback implements Session.StatusCallback {
        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            // you can check session state and do whatever
        }
    }
注意在创建时添加

uiHelper = new UiLifecycleHelper(this, statusCallback);
        uiHelper.onCreate(savedInstanceState);


你能在下面看一下我的答案吗?对不起,我不明白我需要把这部分放在哪里:Intent myIntent=newintent(这个,FacebookActivity\u Logon.class);startActivityForResult(myIntent,2000年);当你开始你的facebook登录活动时