0

チュートリアルを完了し、ログインとログアウトのフローを正常に実装しました。ただし、これは組み込みのログイン ボタンで機能します。

  <com.facebook.widget.LoginButton
        android:id="@+id/authButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="30dp"
        />

ユーザーが選択したとき。リストからアイテムを選択すると、共有オプションを含むカスタム ダイアログが表示されます。ユーザーがこの共有オプションを選択すると、Facebook にログインしたいのですが、ABC があなたのプロフィールにアクセスしたり、ABC があなたの友人に投稿したりします。

編集:必要なものを見つけたと思いますが、早い段階で問題に遭遇しました。インポートできませんFacebookDialog。提供されていないか、インポート時に使用できませんcom.facebook.*;

これ によるとFacebookDialogcom.facebook.widgetパッケージに入っています。ただし、入力するとimport com.facebook.widget。提供される唯一のダイアログは、WebDialog.

4

1 に答える 1

0

私が必要としていたのはFeed ダイアログです。

例:

private void publishFeedDialog() {
    Bundle params = new Bundle();
    params.putString("name", "New level!");
    params.putString("description", "I have reached level " + lvel!");
    params.putString("link", "https://play.google.com/store/apps/details?id=com.myapp");
    params.putString("picture", "http://myapp.com/Images/icoon.png");

        WebDialog feedDialog = (
                new WebDialog.FeedDialogBuilder(this,
                    Session.getActiveSession(),
                    params))
                .setOnCompleteListener(new OnCompleteListener() {

                    @Override
                    public void onComplete(Bundle values,
                        FacebookException error) {
                         if (error == null) {
                                // When the story is posted, echo the success
                                // and the post Id.
                                final String postId = values.getString("post_id");
                                if (postId != null) {
                                    //Toast.makeText(getActivity(), "Posted story, id: "+postId, Toast.LENGTH_SHORT).show();
                                } else {
                                    // User clicked the Cancel button
                                    //Toast.makeText(getActivity().getApplicationContext(), "Publish cancelled", Toast.LENGTH_SHORT).show();
                                }
                            } else if (error instanceof FacebookOperationCanceledException) {
                                // User clicked the "x" button
                                //Toast.makeText(getActivity().getApplicationContext(), "Publish cancelled", Toast.LENGTH_SHORT).show();
                            } else {
                                // Generic, ex: network error
                                Toast.makeText(getApplicationContext(), 
                                    "Error sharing app",  Toast.LENGTH_SHORT).show();
                            }
                    }

                })
                .build();
            feedDialog.show();
}
于 2013-09-11T22:09:39.203 に答える