应该启用我的Android应用程序的用户将消息发布到他的Facebook墙上。
我使用本教程作为我的开发基础: Link to tutorial
到目前为止,如果我没有安装官方的Facebook应用程序,它工作正常。因此,代码使用webview而不是SSO。
但是,如果我在同一台设备上安装Facebook应用程序: 在我的应用程序中按“发布到Facebook按钮”即可打开Facebook应用程序。但它关闭了immediatley并返回我的应用程序。
到目前为止我找到的唯一解决方法是使用Facebook.FORCE_DIALOG_AUTH:
facebook.authorize(this.activity, this.permissions,Facebook.FORCE_DIALOG_AUTH,new LoginDialogListener());
但这避免了SSO并且总是使用webview。有Android应用程序使用官方的Facebook应用程序和做SSO。但是我整个周末搜索了一个解决方案而没有弄清楚他们是怎么做的。
将android密钥散列输入到facebook也没有改变任何东西。
答案 0 :(得分:0)
当facebook有自己的最新教程时,我不确定你为什么选择教程:http://developers.facebook.com/docs/mobile/android/build/
官方教程讨论了很多问题,包括签署它以便它也可以在开发阶段工作。它当然也谈到了身份验证和SSO,这就是SSO所需要的:
Facebook facebook = new Facebook("YOUR_APP_ID");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
facebook.authorize(this, new DialogListener() {
@Override
public void onComplete(Bundle values) {}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
就是这样。 请阅读官方教程并按照他们的说明操作,它应该可以正常使用。