我想在Facebook按钮上添加一个帖子,让我的应用分享一些东西,我认为我使用代码的方式有问题。首先,我有我的登录类,其中它处理facebook的所有登录部分,然后存储我想要的所有数据(用户名,电子邮件,fb_id),我可以将所有值从登录类传递到另一个然后我完成class cause我不希望用户在单击后退按钮后返回登录页面。在我的详细活动上有一个按钮,当我点击它需要在Facebook上发布我设置的消息,但问题是当我使用mFacebook.isSessionValid()检查登录是否对用户有效时它不返回任何内容我认为我的Facebook课程上的所有信息都被刷新了(虽然我不确定那部分)。那就是我需要如何在另一个类上发布消息。
这是我使用的邮政编码:
private void postToFacebook() {
mProgress.setMessage("Posting ...");
mProgress.show();
AsyncFacebookRunner mAsyncFbRunner = new AsyncFacebookRunner(mFacebook);
Bundle params = new Bundle();
params.putString("message", "My Message");
params.putString("name", "My app name");
params.putString("caption", "caption here");
params.putString("link", "URL PAGE HERE");
params.putString("description", "DESCRIPTIONS HERE");
params.putString("picture", "IMAGE URL");
mAsyncFbRunner.request("me/feed", params, "POST", new WallPostListener());
}
private final class WallPostListener extends BaseRequestListener {
public void onComplete(final String response) {
mRunOnUi.post(new Runnable() {
public void run() {
mProgress.cancel();
Toast.makeText(ScoreScreen.this, "Posted to Facebook", Toast.LENGTH_SHORT).show();
}
});
}
}
这是我在登录页面(主要)之后显示下一页的代码:
SessionStore.saveName(username, Main.this);
//IF ONLY SUCCESS IN FETCHING RECORDS
Intent i = new Intent(Main.this, SplashScreen.class);
i.putExtra("fname", fname);
i.putExtra("lname", lname);
i.putExtra("eadd", eadd);
i.putExtra("fbid", fbid);
i.putExtra("gender", gender);
startActivity(i);
Toast.makeText(Main.this, "Connected to Facebook", Toast.LENGTH_SHORT).show();
Main.this.finish();
答案 0 :(得分:0)
使用SessionStore.restore解决了这个问题。我不太确定,但我认为在完成主要活动后会话结束并转到下一堂课。稍后会审查这些问题。