2015-12-03 79 views
2

好吧,我不知道我在做什麼錯,我對這個問題失去了主意。我剛開始使用Facebook的Android SDK,我不知道我是什麼做錯了。我無法使用共享對話框共享圖像

我正在開發一個應用程序,它需要在Facebook上分享圖片。首先我試着分享狀態。它工作得很好。

然後我試着根據文檔信息分享照片。沒有發生。

這是我的清單。

<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"/> 

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

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

該應用程序ID是正確的。我已經在我的AndroidManifest.xml中設置了一個ContentProvider。

這是我的Java。

Bitmap image2 = BitmapFactory.decodeResource(getResources(), R.drawable.android); 
    SharePhoto photo = new SharePhoto.Builder().setBitmap(image2).build(); 
    SharePhotoContent content = new SharePhotoContent.Builder().addPhoto(photo).build(); 
    ShareDialog dialog = new ShareDialog(MainActivity.this); 
    dialog.show(content); 

請幫忙。

回答

2

多琢磨之後,我終於解決了這個problem.For圖像共享能正常工作應保持兩件事情記在心裏。

1.在AndroidManifest.xml中設置ContentProvider。

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

其中1501607393 ******是您的應用程序代碼。

2.在測試yourapp之前,在設備中安裝官方Facebook應用程序。

1

試試這個代碼也許適合你。

public boolean sharePhoto(Bitmap image, String description) { 
     if (ShareDialog.canShow(SharePhotoContent.class)) { 
      SharePhoto photo = new SharePhoto.Builder().setBitmap(image) 
       .build(); 
      SharePhotoContent content = new SharePhotoContent.Builder() 
       .addPhoto(photo).build(); 
      shareDialog.show(content); 
      return true; 
     } 
     return false; 
    } 
+1

仍然無法使用! –

+0

你可以共享控制檯日誌嗎? – Cotrariello

+1

日誌中沒有任何內容。 –