Java Facebook共享没有发生?
我正在开发一个应用程序,在其中我正在进行facebook共享。我可以成功地分享,但只有在我没有安装facebook应用程序时。当我安装facebook应用程序并尝试共享时,它要求登录,当我登录时,我会看到以下对话框“我的应用程序希望访问您的公共配置文件和朋友列表”。当我点击“OK”按钮时,它正在进行一些处理,然后再次出现在我的应用程序上,但没有任何内容可以共享。 请帮帮我。 这是我的密码:-Java Facebook共享没有发生?,java,android,facebook,Java,Android,Facebook,我正在开发一个应用程序,在其中我正在进行facebook共享。我可以成功地分享,但只有在我没有安装facebook应用程序时。当我安装facebook应用程序并尝试共享时,它要求登录,当我登录时,我会看到以下对话框“我的应用程序希望访问您的公共配置文件和朋友列表”。当我点击“OK”按钮时,它正在进行一些处理,然后再次出现在我的应用程序上,但没有任何内容可以共享。 请帮帮我。 这是我的密码:- public class BaseFbTwitterShareAppActivity extends
public class BaseFbTwitterShareAppActivity extends Activity {
private UiLifecycleHelper uiHelper;
public Session.StatusCallback statusCallback = new SessionStatusCallback();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
uiHelper = new UiLifecycleHelper(this, statusCallback);
uiHelper.onCreate(savedInstanceState);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
uiHelper.onActivityResult(requestCode, resultCode, data,
new FacebookDialog.Callback() {
@Override
public void onError(FacebookDialog.PendingCall pendingCall,
Exception error, Bundle data) {
}
@Override
public void onComplete(
FacebookDialog.PendingCall pendingCall, Bundle data) {
// Log.i("Activity", "Success!");
}
});
}
@Override
protected void onResume() {
super.onResume();
uiHelper.onResume();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
uiHelper.onSaveInstanceState(outState);
}
@Override
public void onPause() {
super.onPause();
uiHelper.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
uiHelper.onDestroy();
}
private void shareApp() {
Bundle params = new Bundle();
params.putString("name", "aaa");
params.putString("caption",
"bbb");
params.putString("description", "Dummy data.");
params.putString("link", "https://www.facebook.com/xxx");
params.putString("picture",
"https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/yyy.png");
WebDialog feedDialog = (new WebDialog.FeedDialogBuilder(this,
Session.getActiveSession(), params)).setOnCompleteListener(
new OnCompleteListener() {
@Override
public void onComplete(Bundle values,
FacebookException error) {
if (error == null) {
// and the post Id.
final String postId = values.getString("post_id");
if (postId != null) {
Toast.makeText(BaseFbTwitterShareAppActivity.this, "Posted story, id: " + postId, Toast.LENGTH_SHORT).show();
} else {
// User clicked the Cancel button
Toast.makeText(BaseFbTwitterShareAppActivity.this,
"Publish cancelled", Toast.LENGTH_SHORT)
.show();
}
} else if (error instanceof FacebookOperationCanceledException) {
// User clicked the "x" button
Toast.makeText(BaseFbTwitterShareAppActivity.this,
"Publish cancelled", Toast.LENGTH_SHORT)
.show();
} else {
// Generic, ex: network error
Toast.makeText(BaseFbTwitterShareAppActivity.this,
"Error posting story", Toast.LENGTH_SHORT)
.show();
}
}
}).build();
feedDialog.show();
}
private void onSessionStateChange(Session session, SessionState state,
Exception exception) {
if (state.isOpened()) {
shareApp();
} else if (state.isClosed()) {
}
}
private class SessionStatusCallback implements Session.StatusCallback {
@Override
public void call(Session session, SessionState state,
Exception exception) {
// Respond to session state changes, ex: updating the view
// shareApp();
try {
// Log.d("FB", "Access token = " + session.getAccessToken());
} catch (Exception ex) {
ex.printStackTrace();
}
onSessionStateChange(session, state, exception);
}
}
public void onFbButtonClick() {
Session mSession = Session.getActiveSession();
if (mSession == null) {
mSession = new Session(this);
}
if (!mSession.isOpened() && !mSession.isClosed()) {
mSession.openForPublish(new Session.OpenRequest(this)
.setPermissions(Arrays.asList("publish_actions"))
.setCallback(statusCallback));
} else {
Session.openActiveSession(this, true, statusCallback);
}
}
}
我得到了答案,代码是完美的,但我的哈希键不匹配。我不知道为什么没有facebook应用程序就可以分享。但正如我所说的,这两种情况下都是共享的。 -当我有facebook应用程序时。 -当我没有facebook应用程序时