如何使用Android在Facebook Friend's Wall上发布图像

时间:2013-03-23 09:41:31

标签: facebook facebook-graph-api

我开发了一个应用程序,其中我允许用户在朋友墙上发布图像,这里我只给出了一个静态图像,使用下面的代码。

    params.putString("picture", FacebookUtility.HACK_ICON_URL);

其中HACK_ICON_URL,

    It is the URL of an Image...

现在我想让用户从多张图片中选择一张图片,然后在Friends Wall上发布。

FriendsList.java:

   public void onItemClick(AdapterView<?> adapterView, View view,
        int position, long id) {

    try {
        final long friendId;
        friendId = jsonArray.getJSONObject(position).getLong("uid");
        String name = jsonArray.getJSONObject(position).getString("name");
        new AlertDialog.Builder(this)
                .setTitle(R.string.post_on_wall_title)
                .setMessage(
                        String.format(getString(R.string.post_on_wall),
                                name))
                .setPositiveButton(R.string.yes,
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                Bundle params = new Bundle();

                                params.putString("to",
                                        String.valueOf(friendId));
                                params.putString("caption",
                                        getString(R.string.app_name));
                                params.putString("description",
                                        getString(R.string.app_desc));
                                params.putString("link", "http://www.google.com");
                                params.putString("picture",
                                        FacebookUtility.HACK_ICON_URL);
                                params.putString("name",
                                        getString(R.string.app_action));
                                FacebookUtility.facebook
                                        .dialog(FriendsList.this,
                                                "feed",
                                                params,
                                                (DialogListener) new PostDialogListener());
                            }

                        }).setNegativeButton(R.string.no, null).show();
    } catch (JSONException e) {
        showToast("Error: " + e.getMessage());
    }
}

public class PostDialogListener extends BaseDialogListener {
    @Override
    public void onComplete(Bundle values) {
        final String postId = values.getString("post_id");
        if (postId != null) {
            showToast("Message posted on the wall.");
        } else {
            showToast("No message posted on the wall.");
        }
    }
}

0 个答案:

没有答案