[英]How to implement Facebook Like feature using Graph api in Android
我需要在我的窗口小部件應用程序中實現Facebook Like功能。 為此,我試圖從SDK compile 'com.facebook.android:facebook-android-sdk:4.0.1'
實現Facebook LikeView。 但不幸的是,我無法使用此視圖,因為窗口小部件使用RemoteViews。 因此,我完全堅持應采用的方法來實現使用Graph api
Facebook,因為缺少用於此目的的文檔。 我正在發布我用於Facebook的代碼,如下所示
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
<?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
<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" />
任何對我有幫助的幫助和替代解決方案。 提前致謝。
我還實現了一個類似facebook的功能,並且它也可以與LikeView.ObjectType.OPEN_GRAPH一起成功地為我工作。
這是帶有詳細說明的代碼
在MainActivity中定義它
CallbackManager callbackManager;
LikeView likeView;
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);
在您的Mainactivity中,添加onActivityResult方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
}
AndroidManifest.xml
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/FacebookId" />
並從清單中刪除提供者
//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.