将Facebook共享集成到我的应用中

时间:2016-10-13 10:39:24

标签: android facebook facebook-share

我试图将Facebook分享整合到我的应用中。

我正在遵循本指南:

https://developers.facebook.com/docs/sharing/android

一切顺利,直到它说:

  

添加Facebook活动 - 将其包含在AndroidManifest.xml中

链接到:

Add Facebook Activity Link

并且该页面中没有位置告诉我如何将活动添加到我的应用程序。

我发现了一个视频确实这样做但是当我输入视频中的代码(不自动完成)时,添加活动并尝试运行它。我收到错误:

Error:Execution failed for task ':app:processReleaseManifest'.
> Manifest merger failed : Attribute activity#com.facebook.FacebookActivity@theme value=(@android:style/Theme.Translucent.NoTitleBar) from AndroidManifest.xml:27:15-74
  is also present at [com.facebook.android:facebook-android-sdk:4.16.0] AndroidManifest.xml:32:13-63 value=(@style/com_facebook_activity_theme).
  Suggestion: add 'tools:replace="android:theme"' to <activity> element at AndroidManifest.xml:26:5-30:17 to override.

我做了其他所有事情:

<meta-data
  android:name="com.facebook.sdk.ApplicationId"
  android:value="@string/facebook_id"/>
<provider
  android:name="com.facebook.FacebookContentProvider"
  android:authorities="com.facebook.app.FacebookContentProvider12345678"
  android:exported="true"/>

在我的清单中:

private void share() {
ShareLinkContent content = new ShareLinkContent.Builder()
        .setContentTitle("This is the title")
        .setContentDescription("This is the description")
        .setContentUrl(Uri.parse("www.google.com"))
        .build();

ShareDialog.show(getActivity(), content);
}

就像一个测试,但是加载了共享屏幕,没有我指定的信息以及几秒钟后崩溃?

请帮帮我?

3 个答案:

答案 0 :(得分:3)

您需要在AndroidManifest.xml文件中添加Facebook活动。

    if(searchControl1.Controls.ContainsKey(metroTile1.Text))
        {
            metroTile1.Visible = true;

        }else if(!searchControl1.Controls.ContainsKey(metroTile1.Text))
        {
            metroTile1.Visible = false;
        }
        if(searchControl1.Controls.ContainsKey(metroTile2.Text))
        {
            metroTile2.Visible = true;

        }else if(!searchControl1.Controls.ContainsKey(metroTile2.Text))
        {
            metroTile2.Visible = false;
        }

答案 1 :(得分:1)

在清单中添加您自己的自定义Facebook活动 com.facebook.FacebookActivity。

<activity android:name=".activity.FbActivity" />
    <activity android:name="com.facebook.FacebookActivity"
        android:configChanges=
          "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:label="@string/app_name" />

答案 2 :(得分:0)

添加工具:replace =“android:theme”运行正常。

<activity android:name="com.facebook.FacebookActivity"          android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
      android:theme="@android:style/Theme.Translucent.NoTitleBar"
      tools:replace="android:theme"
      android:label="@string/app_name" />