Я пытаюсь реализовать Facebook «Like Button» в своем приложении для Android. До того, как я использовал Facebook SDK v3, где вы настроили LikeView, а затем вызовите likeView.handleOnActivityResult (context, requestCode, resultCode, data) внутри onActivityResult(); Это изменило бы кнопку так, чтобы после того, как страница была «понравилась», она покажет «Liked» и количество людей, которым также нравится страница.Android Facebook SDK v4 LikeView issue
Теперь я использую SDK для Facebook, потому что v3 теперь устарел. В этой версии я не вижу никакой документации или вообще не имею такого же типа функциональности для кнопки «как». У него больше нет метода likeView.handlePnActivityResult, который был у v3. Теперь, когда пользователь нажимает кнопку «как» и любит страницу, он не изменяет состояние кнопки.
Кто-нибудь знает, как решить эту проблему, чтобы у нее была такая же функциональность, как и LikeView в Facebook SDK v3?
Вот код того, что я делаю:
@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" />
Вам необходимо реализовать CallbackManager, а затем в onActivityResult передать результат с помощью: callbackManager.onActivityResult (requestCode, resultCode, data); – Guardanis
Большое спасибо! – Sloganho
Рад, что я мог помочь ~ – Guardanis