简体   繁体   English

如何在Android中使用Graph API实现Facebook Like功能

[英]How to implement Facebook Like feature using Graph api in Android

I have a requirement to implement Facebook Like feature in my widget application. 我需要在我的窗口小部件应用程序中实现Facebook Like功能。 For that purpose i am trying to implement Facebook LikeView from SDK compile 'com.facebook.android:facebook-android-sdk:4.0.1' . 为此,我试图从SDK compile 'com.facebook.android:facebook-android-sdk:4.0.1'实现Facebook LikeView。 But unfortunately I couldn't use this view because widgets uses RemoteViews. 但不幸的是,我无法使用此视图,因为窗口小部件使用RemoteViews。 So I am completely stuck with the approach that I should follow to implement Facebook Like using Graph api since there is a lack of documentation for this purpose. 因此,我完全坚持应采用的方法来实现使用Graph api Facebook,因为缺少用于此目的的文档。 I am posting the code that I am using for Facebook Like as follows 我正在发布我用于Facebook的代码,如下所示

MainActivity.java MainActivity.java

public class MainActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        LikeView likeView = (LikeView) findViewById(R.id.likeView);
        likeView.setLikeViewStyle(LikeView.Style.STANDARD);
        likeView.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE);

        likeView.setObjectIdAndType(
                "https://www.facebook.com/JavaDigest/",
                LikeView.ObjectType.OPEN_GRAPH);

    }

activity_main.xml activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.facebooklike.MainActivity">

    <com.facebook.share.widget.LikeView
        android:id="@+id/likeView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />
</RelativeLayout>

AndroidManifest.xml AndroidManifest.xml

<meta-data
        android:name="com.facebook.sdk.ApplicationName"
        android:value="@string/app_name" />
    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/app_id" />

    <provider
        android:name="com.facebook.FacebookContentProvider"
        android:authorities="com.facebook.app.FacebookContentProvider2XXXXXXXXXXX85"
        android:exported="true" />

Any kind of help and alternate solutions that will be very helpful to me. 任何对我有帮助的帮助和替代解决方案。 Thanks in advance. 提前致谢。

I have also implemented a facebook like feature and it is successfully worked for me with LikeView.ObjectType.OPEN_GRAPH too. 我还实现了一个类似facebook的功能,并且它也可以与LikeView.ObjectType.OPEN_GRAPH一起成功地为我工作。

Here is a code with Detail explanation 这是带有详细说明的代码

Define it in MainActivity 在MainActivity中定义它

CallbackManager callbackManager;
LikeView likeView;

MainActivity onCreate Method MainActivity onCreate方法

callbackManager = CallbackManager.Factory.create();
likeView = (LikeView) findViewById(R.id.likeview);

likeView.setLikeViewStyle(LikeView.Style.BOX_COUNT);
likeView.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE);
likeView.setObjectIdAndType(
            "http://shareitexampleapp.parseapp.com/photo1/",
             LikeView.ObjectType.OPEN_GRAPH);

In your Mainactivity add onActivityResult method 在您的Mainactivity中,添加onActivityResult方法

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

AndroidManifest.xml AndroidManifest.xml

 <meta-data
     android:name="com.facebook.sdk.ApplicationId"
     android:value="@string/FacebookId" />

and Remove provider from manifest 并从清单中删除提供者

//Remove this provider

<provider
     android:name="com.facebook.FacebookContentProvider"
     android:authorities="com.facebook.app.FacebookContentProvider2XXXXXXXXXXX85"
     android:exported="true" />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在Android中使用图API在Facebook上共享 - How to share on facebook using graph api in android 如何使用Android Facebook SDK集成“赞”和“评论”功能? - How to integrate “Like” and “Comment” feature using Android Facebook SDK? 如何在Android中实现Gmail等打印功能 - How to implement Print feature like Gmail in Android 如何在Android中实现gmail等滑动功能 - how to implement swipe feature like gmail in android 如何使用Facebook SDK的Open Graph喜欢Android中的网址 - How to using Open Graph of Facebook SDK to like an Url in Android 如何实现Facebook“ New Story”功能之类的功能? - How to implement functionality like Facebook “New Story” feature? 如何使用facebook android sdk(graph api)办理登机手续 - How to check in using facebook android sdk (graph api) 如何使用Android中的图API在Facebook中发布游戏分数? - How to post game score in facebook using graph api in android? 如何使用 Graph API for android 获取 facebook 用户的位置 - how to get location of facebook user using Graph API for android 如何在Android中实现Facebook的“赞”功能 - How to implement “like” functionality of Facebook in Android
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM