0

当我使用openSession方法启动登录/注册Facebook活动时,应用程序标题栏(我们使用的是自定义标题栏)消失并出现另一个标题栏。有没有办法为新的Activity设置自定义栏?Facebook SDK 3.0 Android登录自定义标题栏消失

我打电话Facebook的授权方式:

 fb.openSession(this, new Session.StatusCallback() { 
     @Override 
     public void call(Session session, SessionState state, Exception exception) { 
      Logger.d(LOGTAG, "Session moved to state " + state.name()); 
      if (null == exception) { 
       mFacebookSession = session; 
       switch (state) { 
       case CLOSED: 
       case CLOSED_LOGIN_FAILED: 
        mLoginProgressDialog.dismiss(); 
        Toast.makeText(FacebookLoginActivity.this, "Login failed. Verify login and password", 
          Toast.LENGTH_LONG).show(); 
        break; 
       case OPENED: 
       case OPENED_TOKEN_UPDATED: 
        mFacebookSession.removeCallback(this); 
        FacebookServer.getInstance(getApplicationContext()).setSession(mFacebookSession); 
        FacebookServer.getInstance(getApplicationContext()).getUserFacebookId(
          new FacebookLoginActivityUserIDCallback()); 
        break; 
       case OPENING: 
        break; 
       default: 
        mLoginProgressDialog.dismiss(); 
        break; 
       } 
      } else { 
       exception.printStackTrace(); 
      } 

     } 
    }); 

我们设置了自定义标题栏在活动的onCreate()方法调用上述方法:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.facebook_login_activity); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.app_title_bar); 

下图显示了问题所在:

Custom title bar Simple title bar after launching FB authorization

回答

0

最终,我只是在Facebook上添加软件包这些行LoginActivity.java:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.app_title_bar); 

它影响了活动的执行行为和外观现在是一致的,当FB推出的布局。