Обратный вызов Facebook Sharing не работает в Facebook Android SDK 4.26.0 - PullRequest
0 голосов
/ 11 сентября 2018

В моем приложении я интегрировал FB SDK 4.26.0 для функции обмена песнями. Диалог обмена работает нормально, и я могу поделиться как с приложением Facebook, так и с WebDialog. Однако после успешного / неудачного обмена мой обратный вызов не работает, из-за чего я не могу дать ответ. Так что я даже не могу показать тостовое сообщение. Вот мой код:

private CallbackManager callbackManager;
private ShareDialog shareDialog;
private String title;
private String status;

@Override
protected void onCreate(Bundle arg0) {
    super.onCreate(arg0);
    searchAlbumArt(PlayerService.getCurrentTrack().getArtist(), PlayerService.getCurrentTrack().getAlbum());
    FacebookSdk.sdkInitialize(getApplicationContext());
    callbackManager = CallbackManager.Factory.create();
    shareDialog = new ShareDialog(this);
    setTheme(ThemeUtils.getTheme(getApplicationContext()));
    setContentView(R.layout.activity_share_song);
    initializeComponents(); // Initialize the Components
    initializeListeners(); // Initialize the Listeners
    callbackManager = CallbackManager.Factory.create();
    shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
        @Override
        public void onSuccess(Sharer.Result result) {
            Toast.makeText(getApplicationContext(), "Share success!", Toast.LENGTH_SHORT).show();
            Log.e(TAG, "Fb onSuccess");
        }

        @Override
        public void onCancel() {
            Toast.makeText(getApplicationContext(), "Did not share", Toast.LENGTH_SHORT).show();
            Log.e(TAG, "Fb onCancel");
        }


        @Override
        public void onError(FacebookException error) {
            Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_SHORT).show();
            Log.e(TAG, "Fb onError");
        }
    }, 90);
 }


private void initializeComponents() {
    btnShareSongfb = (Button) findViewById(R.id.fb_share_button);
    ShareButton shareButton = (ShareButton) findViewById(R.id.fb_share_button);
    ShareLinkContent content = generateFbStatus();
    shareButton.setShareContent(content);
 }


private ShareLinkContent generateFbStatus() {
           status = "xxx";
           title = "yyy";

        ShareLinkContent content = new ShareLinkContent.Builder()
                .setContentUrl(Uri.parse( (getResources().getString(R.string.google_play_url))))
                .setQuote(title)
                .setShareHashtag(new ShareHashtag.Builder()
                        .setHashtag(status)
                        .build())
                .build();
        return content;
    }
}


@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
}

Я пытаюсь понять, что я сделал неправильно. Любая помощь будет благодарна. спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...