2017-09-21 13 views
2

私は、自分のアプリを使ってユーザーの代わりにFacebookへのFacebookのAndroid SDKバージョン4.25とShareLinkContent、ShareDialogをFacebookに投稿しています。Facebook android SDK ShareDialogを使用しています。 onSuccessコールバックでアプリケーションに戻るsharedialogの十字ボタンをクリック

これは、ユーザーが自分のアプリケーションの共有機能

enter image description here

をクリックしたときに、あなたが画像で見ることができるように、2つのクロスアイコンがsharedialogであり、開いたダイアログです。上の十字アイコンをクリックすると、sharedialogが閉じてonCancelコールバックが呼び出されます。

問題は、私が[ポスト]ボタンをクリックしているときに、下のクロスアイコンonSuccessコールバックが同じコールされているときです。彼はFacebookに投稿を共有するときにユーザーにいくつかのポイントを与えたい。しかし、下の十字アイコンでも成功コールバックを取得しています。何をすべきか?ありがとうございました。

これは私が使用していますコールバックコードである: - あなたは上部クロスをクリックすると

shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { 

    @Override 
    public void onSuccess(Sharer.Result result) { 

      Log.e(LOG_TAG, "Facebook share success " + result.getPostId()); 

    } 

    @Override 
    public void onCancel() { 

      Log.e(LOG_TAG, "Facebook share cancel"); 

    } 

    @Override 
    public void onError(FacebookException error) { 

      Log.e(LOG_TAG, "Facebook share error"); 

    } 

}); 

答えて

0

、あなたが実際にonCancelを呼び出し、独自のダイアログボックスを閉じています。しかし、下の十字をクリックすると、実際にはfacebookの表示になります。コールバックは、あなたのダイアログではなく、Facebookから返されます。試してみてください:

@Override 
public void onSuccess(Sharer.Result result) { 
    Log.e(LOG_TAG, "Facebook share success " + result.getPostId()); 
    //Notice this post id in both, cross click and when the status is updated successfully 
    //So, if you don't get a valid post id returned, you can count it as a cancel. 
} 
+0

result.getPostId()は、両方の場合にnullになります。クロスクリックとポストボタンクリック。 – ankiraw91

+0

これでFacebookに何かを投稿できますか?ポストが正常に更新された場合、あなたは定義されたpostidを取得していただろうから、あなたのFacebookの統合に問題があるかもしれません。 –

+0

はいFacebookへの投稿がタイムラインで正常に表示されています。私は別のFacebookアカウントでもテストしました。 – ankiraw91

関連する問題