我正在将 Facebook LikeView 集成到官方 fb docs 中定义的 Android 应用程序 fragment 中。

LikeView like_button = (LikeView) findViewById(R.id.like_view);
like_button.setObjectId(...);

我也像这样处理过 onActivityResult:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

uiHelper.onActivityResult(requestCode, resultCode, data, null);
.....
}

我无法以编程方式找到用户是否喜欢该页面或从 LikeView 中不喜欢它。每当 likeview 的弹出窗口返回但没有关于结果的信息时,onActivityResults 就会触发。

请帮助我确定我错过了什么。
任何帮助将不胜感激

最佳答案

您可以通过将此代码添加到您的 onActivityResults 来获取用户的操作:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
       default:
            if (resultCode == RESULT_OK) {
                // verify we're returning from like action
                if ("com.facebook.platform.action.request.LIKE_DIALOG".equals(data.getStringExtra("com.facebook.platform.protocol.PROTOCOL_ACTION"))) {
                    // get action results
                    Bundle bundle = data.getExtras().getBundle("com.facebook.platform.protocol.RESULT_ARGS");
                    if (bundle != null) {
                        bundle.getBoolean("object_is_liked"); // liked/unliked
                        bundle.getInt("didComplete");
                        bundle.getInt("like_count"); // object like count
                        bundle.getString("like_count_string");
                        bundle.getString("social_sentence");
                        bundle.getString("completionGesture"); // liked/cancel/unliked
                    }
                }
            }
            break;
}

10-07 18:31