Facebook 4.3.0,shareDialog在Android中没有开放

时间:2015-07-03 06:04:33

标签: android facebook

您好我已将Facebook sdk集成到我的项目中,以下是打开shareDialog框以与Image共享文本的代码

if (ShareDialog.canShow(ShareLinkContent.class)) {
   ShareLinkContent linkContent = new ShareLinkContent.Builder()
                .setContentTitle("Hello Facebook")
                .setImageUrl(Uri.parse("file://"+saveCanvasImage()))
                .setContentDescription("The 'Hello Facebook' sample  showcases simple Facebook integration")
                .setContentUrl(Uri.parse("http://developers.facebook.com/android"))
                .build();

 shareDialog.show(linkContent);
AndroidMenifest.xml中的

文件代码在

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

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

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

我还提供了

中的Key Hashes

https://developers.facebook.com/apps

当我执行上面的代码时,我将在LOGCAT

中获得以下日志
07-03 11:33:29.352: I/ActivityManager(756): START u0 {act=PassThrough cmp=com.drcsystems.emoji/com.facebook.FacebookActivity (has extras)} from uid 10512 on display 0
07-03 11:33:29.355: V/WindowManager(756): addAppToken: AppWindowToken{228e0639 token=Token{3b676e00 ActivityRecord{1c400c83 u0 com.drcsystems.emoji/com.facebook.FacebookActivity t5409}}} to stack=1 task=5409 at 1

2 个答案:

答案 0 :(得分:1)

在您的活动中使用此段代码打开Facebook对话框:

FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this).setName("name").
setLink("Website").setDescription("description").build();

答案 1 :(得分:0)

添加回调后我得到了

.setImageUrl(Uri.parse("file://"+saveCanvasImage()))

需要http://或https://

上面的代码应该是

.setImageUrl(Uri.parse("http://....."))

意味着您无法直接从SD卡上共享,您需要先在任何服务器上传,然后才能与之共享