我正在将 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;
}