如何创建活动的对话框覆盖,而用户登录到facebook



我使用这段代码允许用户在打开应用程序时登录到facebook。一旦用户登录,应用程序就会转到主菜单。

public class facebook_social extends Activity implements LoginListener {
private FBLoginManager fbManager;
Intent intentResult;
Bitmap bmImg = null;
URL myFileUrl =null; 
ImageView i;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    intentResult = new Intent(getApplicationContext(), MainMenu.class);

       //If the sdk version is Honeycomb the take off strictMode to allow for network connection in main thread.
        if(Build.VERSION.SDK_INT >= 11){
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        }
    shareFacebook();

}
public void shareFacebook() {
    String permissions[] = { "read_stream", "user_relationship_details",
            "user_religion_politics", "user_work_history",
            "user_relationships", "user_interests", "user_likes",
            "user_location", "user_hometown", "user_education_history",
            "user_activities","offline_access"};
    fbManager = new FBLoginManager(this,R.layout.black,"173174566087561",permissions);

    if (fbManager.existsSavedFacebook()) {
        fbManager.loadFacebook();
    } else {
        fbManager.login();
    }
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    fbManager.loginSuccess(data);
}
public void loginFail() {
    fbManager.displayToast("Login failed!");
}
public void logoutSuccess() {
    fbManager.displayToast("Logout success!");
}
public void loginSuccess(Facebook facebook) {
    GraphApi graphApi = new GraphApi(facebook);
    User user = new User();
    try {
        user = graphApi.getMyAccountInfo();
    } catch (EasyFacebookError e) {
        e.toString();
    }
    String pkg = getPackageName();
    intentResult.putExtra(pkg + ".myName", user.getName());
    intentResult.putExtra(pkg + ".myId", user.getId());
    startActivity(intentResult);
    Intent i = new Intent();
    i.putExtra("name", user.getName());
}

}

正如你在这里看到的应用程序给出了一个黑色的背景,当在这个屏幕上允许用户登录。我想做的是,在主菜单的顶部有登录。我该怎么做呢?

将其集成到主菜单活动中?

Android是基于堆叠活动,所以这是你应该做的。您可以使用startActivityForResult来处理登录活动,并在返回一个积极的结果(=成功登录)时启用您的主活动

最新更新