2016-08-30 15 views
2

私のアプリケーションでFacebook OpenGraphのコンテンツを共有しているときに問題に直面しています。FacebookのOGraph写真のマニフェストエラー

private void facebookShareWithOpenGraph(final SmartRunFirebase aSmartRun, final StatisticSmartRun stats){ 

    SharePhoto photo = new SharePhoto.Builder() 
      .setBitmap(aSmartRun.getAffectedCity().getCityPicture()) 
      .setUserGenerated(true) 
      .build(); 



    ShareOpenGraphObject object = new ShareOpenGraphObject.Builder() 
      .putString("og:type", "fitness.course") 
      .putString("og:title", aSmartRun.getName()) 
      .putString("og:description", aSmartRun.getDescription()) 
      .putPhoto("og:image", photo) 
      .putInt("fitness:duration:value", stats.getChronoInSecond()) 
      .putString("fitness:duration:units", "s") 
      .putDouble("fitness:distance:value", (double) stats.getTravelledDistance()/1000) 
      .putString("fitness:distance:units", "km") 
      .putDouble("fitness:speed:value", statCalculator.parseInMeterPerSecond(stats.getMediumSpeed())) 
      .putString("fitness:speed:units", "m/s") 
      .build(); 
    ShareOpenGraphAction action = new ShareOpenGraphAction.Builder() 
      .setActionType("fitness.runs") 
      .putObject("fitness:course", object) 
      .build(); 
    ShareOpenGraphContent content = new ShareOpenGraphContent.Builder() 
      .setPreviewPropertyName("fitness:course") 
      .setAction(action) 
      .build(); 



    // ShareDialog.show(StatsSmartRunsActivity.this, content); 
    // initiate share process 
    ShareDialog shareDialog = new ShareDialog(this); 
    shareDialog.show(content); 


} 

とせずに、私のマニフェスト

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

中:私は慎重にここ

は私のコードです...よく文書が、私はまだ、このエラーを持っているFacebookの開発者のページを読みました.putPhotoで画像を追加するとすべてがうまくいきます。しかし、私がそれを追加すると、私はラインにクラッシュするshareDialog.show(content);

java.lang.IllegalStateException: A ContentProvider for this app was not set up in the AndroidManifest.xml, please add com.facebook.app.FacebookContentProviderXXXXXXXX as a provider to your AndroidManifest.xml file. See https://developers.facebook.com/docs/sharing/android for more info. 

これはどのように可能ですか?それは私のマニフェストに書かれています!私のプロバイダが正しく定義されていないと、OpenGraphをPictureなしでどのように共有できますか?

答えて

0

Oookay :)事前にありがとうございましたので...私はXMLファイルで適切な場所にプロバイダを入れていません。

これはアプリケーションの括弧内で、外部ではない必要があります。...!

関連する問題