从Facebook SDK for Android向Facebook提要对话框添加内容

ori*_*rel 8 android facebook facebook-wall

在我的Android应用程序中,我希望用户在他们的墙上"共享"我的应用程序,所以我希望他们在他们的墙上发布预定义的内容状态.

如何自定义墙状态?(我想添加我的应用程序图标和一些耀斑文本).

Gal*_*lip 5

下载Facebook SDK并将其导入您的项目中.然后使用以下代码进行授权:

    public void sendtoFacebook(){
        facebookClient = new Facebook("<Your_APP_ID");
        facebookClient.authorize(<Current_class>.this, new AuthorizeListener());
    }
Run Code Online (Sandbox Code Playgroud)

现在你必须添加以下方法:

class AuthorizeListener implements DialogListener {
    public void onComplete(Bundle values) {
        Bundle parameters = new Bundle();
            parameters.putString("message", "<Message_you_want_to_send>");// the message to post to the wall
            facebookClient.dialog(<Current_class>.this, "stream.publish", parameters, this);// "stream.publish" is an API call
    }
    @Override
    public void onFacebookError(FacebookError e) {
    }
    @Override
    public void onError(DialogError e) {
    }
    @Override
    public void onCancel() {
    }
}
Run Code Online (Sandbox Code Playgroud)

您的应用程序名称和图标将自动添加:)

  • 从2011年7月12日起,`message`字段被忽略.请参阅:http://developers.facebook.com/docs/reference/dialogs/feed/ (5认同)

Mat*_*adt 2

您也可以在不使用 SDK 的情况下,仅通过共享 URL 来完成此操作:

public void shareOnFacebook(View v) {

    Uri uri = Uri.parse("http://m.facebook.com/sharer.php?u=http://yourdomain/page.html&t=YourMessage");
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

您只需将内容页面/html 放置在您的服务器上的某个位置,位于您提供给共享者的 URL 下。

如果您希望某个图像出现在共享消息中,请将其放入您要共享的服务器上 html 页面的元标记中:

<link rel="image_src" type="image/jpeg" href="http://yourdomain.com/promo/image.png" /> 
Run Code Online (Sandbox Code Playgroud)

请参阅带有链接图像的此类促销页面的示例:http://www.modelme.co.uk/promo/amandaharrington

  • 那么这个方法就行不通了。但是您可以将其放在任何地方,任何免费托管空间(即http://sites.google.com/),只要它可以通过浏览器公开访问即可。 (2认同)