我正在使用Android的分享按钮,将我的应用程序中的内容分享给其他几个应用程序(Facebook,Twitter,Dropbox,Gmail等)。对于Facebook共享,我使用了这里描述的方法: http://www.integratingstuff.com/2010/10/14/integrating-facebook-into-an-android-application/
一切正常,但这不是我想要的。使用facebook.request("me/feed", parameters, "POST")
,您只需将内容直接发布到用户的墙上,而无需确认。我想先显示一个Feed对话框,然后将其发布到Facebook上。为此,我用以下代码替换了包含它的代码:
facebook.dialog(ShareOnFacebook.this , "feed", parameters, new DialogListener() {
@Override
public void onComplete(Bundle values) {}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
不幸的是,这不起作用。当我按下Facebook分享按钮时,它会打开Facebook并在登录后返回我的应用程序而不发布内容而不会出现错误。在我按下Facebook按钮之前,我的Facebook墙上贴了一些东西,并在我的应用程序中添加了一个Toast,其中“消息发布到你的Facebook墙上!”被展示了。
另外,我尝试用以下内容替换它:
WebDialog feedDialog = (
new WebDialog.FeedDialogBuilder(ShareOnFacebook.this,
Session.getActiveSession(),
parameters))
.setOnCompleteListener(null)
.build();
feedDialog.show();
但是没有发生任何事情。我已经阅读(来自Facebook SDK的官方网站(例如site1)),这些是使用Feed Dialog在Facebook上发布内容的方法,但我的内容无效。我试图使用Facebook SDK 3.0及其以前的版本,没有任何结果。引起这个问题的原因是什么?
答案 0 :(得分:1)
试试这个
context.runOnUiThread(new Runnable()
{
@Override
public void run()
{
WebDialog feedDialog = new WebDialog.FeedDialogBuilder(context, Session.getActiveSession(), postParameter).build();
feedDialog.show();
}
});
这适合我。
答案 1 :(得分:0)
您是否按照this documentation设置了App_id?
Resources / Values
中的Stings.xml示例<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_id">APP_ID</string>
</resources>
AndroidManifest.xml示例
<application >
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
</application>