Android Facebook SDK v4 LikeView问题

时间:2015-04-17 17:49:58

标签: android facebook sdk

我试图实施Facebook" Like Button"在我的Android应用中。在我使用Facebook SDK v3之前,您将在其中设置LikeView,然后在onActivityResult()中调用likeView.handleOnActivityResult(context,requestCode,resultCode,data);这将改变按钮,以便在页面被"喜欢"它会显示"喜欢"以及喜欢该页面的人数。

现在,我正在使用Facebook SDK v4,因为现在不推荐使用v3。在这个版本中,我没有看到任何文档或者无论如何都没有为"类似"提供相同类型的功能。按钮。它不再具有v3具有的likeView.handlePnActivityResult方法。现在,当用户点击"喜欢"按钮并喜欢该页面,它不会改变按钮的状态。

有谁知道如何解决这个问题,以便它与Facebook SDK v3中的LikeView具有相同的功能?

以下是我正在做的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Initialize FaceBook SDK
    FacebookSdk.sdkInitialize(this);

    setContentView(R.layout.activity_about);

    // Set up ActionBar
    actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);

    terms = (LinearLayout) findViewById(R.id.terms_holder);
    privacyPolicy = (LinearLayout) findViewById(R.id.privacy_policy_holder);
    share = (LinearLayout) findViewById(R.id.social_media_holder);
    environmentButton = (Button) findViewById(R.id.environment_change);
    likeView = (LikeView) findViewById(R.id.like_view);

    likeView.setObjectIdAndType("##############", LikeView.ObjectType.PAGE);

}

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

    // In the old Facebook SDK this is where it would change the like button to "liked 2,038" but this code is deprecated now apparently
    // likeView.handleOnActivityResult(this, requestCode, resultCode, data);
}

这是我的XML:

<LinearLayout
android:id="@+id/social_media_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="10dp"
android:gravity="center_vertical"
android:clickable="true"
android:onClick="onClick" >


<com.facebook.share.widget.LikeView
    android:id="@+id/like_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="10dp" />           


<TextView
    android:id="@+id/post_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginRight="5dp"
    android:text="@string/post_about_us"
    android:textSize="20dp"
    android:textColor="@color/dark_grey" />

1 个答案:

答案 0 :(得分:0)

Native Like按钮:从Facebook SDK版本4.28及更高版本开始,将不再支持专为移动应用程序设计的Native Like按钮。以前版本的SDK仍然可以使用Native Like按钮,但从2/6开始,将不再支持Native Like按钮。在2/6之后,Native Like的对话框将不再出现,点击任何原生的按钮将导致无法执行操作。