0

Facebookのデフォルトダイアログを使用して、Facebookのウォールに投稿を共有しています。私のコードを以下に示します。

facebook.dialog(this, "feed", new DialogListener() {

        @Override
        public void onFacebookError(FacebookError e) {
        }

        @Override
        public void onError(DialogError e) {
        }

        @Override
        public void onComplete(Bundle values) {
        }

        @Override
        public void onCancel() {
        }
    });

しかし今、私はTextViewとButtonを追加しています。ボタンをクリックすると、textViewのテキストがFacebookのウォールに投稿されます。

4

1 に答える 1

1

DialogListenerのonComplete ()をオーバーライドしてから、必要な処理を実行するか、テキストビューからgetTextを使用して値を取得て投稿します。

public void onComplete(Bundle values) { 
            mProgress.setMessage("Posting ...");
            mProgress.show();

            AsyncFacebookRunner mAsyncFbRunner = new AsyncFacebookRunner(mFacebook);

            Bundle params = new Bundle();

            params.putString("message", "A Game Developed By Me !");
            params.putString("name", "Match Maker");
            params.putString("caption", "www.labmimosa.com/");
            params.putString("link", "https://play.google.com/store/apps/details?id=com.reverie.fushh");
            params.putString("description", "Dexter:  Blood. Sometimes it sets my teeth on edge, other times it helps me control the chaos.");
            params.putString("picture", "http://twitpic.com/show/thumb/6hqd44");
            //params.putByteArray("picture", bitMapData);

            mAsyncFbRunner.request("me/feed", params, "POST", new WallPostListener());
        }

Wallpostlistenerクラスは

private final class WallPostListener extends BaseRequestListener {
        public void onComplete(final String response) {
            mRunOnUi.post(new Runnable() {
                @Override
                public void run() {
                    mProgress.cancel();

                    Toast.makeText(Exp_Fb_Twt_Activity.this, "Posted to Facebook", Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
于 2012-10-02T07:23:59.337 に答える