Я создаю приложение для Android и хочу поделиться сообщением в Facebook с помощью функции ShareOpenGraph. Я следил за учебным пособием онлайн, предоставленным FB, и, по сути, просто скопировал и вставил его в свое приложение (для тестирования). У меня есть идентификатор приложения и все. Я могу публиковать посты других типов, например изображения и т. Д., Но не этот пост ShareOpenGraph.
Когда я нажимаю «Опубликовать на Facebook» в моем приложении, появляется диалоговое окно FB со всей правильной информацией и выглядит идеально.
Проблема в том, что когда я нажимаю «Поделиться» во всплывающем диалоговом окне Facebook, я получаю сообщение об ошибке Android, в котором говорится, что «Facebook остановился», и мое сообщение не публикуется в FB.
Любые мысли приветствуются.
Мой код: (прямо из FB)
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "fitness.course")
.putString("og:title", "Sample Course")
.putString("og:description", "This is a sample course.")
.putInt("fitness:duration:value", 100)
.putString("fitness:duration:units", "s")
.putInt("fitness:distance:value", 12)
.putString("fitness:distance:units", "km")
.putInt("fitness:speed:value", 5)
.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(this, content);
и трассировка стека:
03-14 17:32:06.123 10816-10816/? E/fb4a.ACRA: ACRA caught a RuntimeException exception for com.facebook.katana version 143667885. Building report.
03-14 17:32:06.133 10816-10816/? E/fb4a.ACRA: Handling exception for crash
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=131, result=-1, data=Intent { (has extras) }} to activity {com.facebook.katana/com.facebook.platform.common.activity.PlatformWrapperActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void com.google.common.util.concurrent.ListenableFuture.addListener(java.lang.Runnable, java.util.concurrent.Executor)' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:4920)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4963)
at android.app.ActivityThread.access$1600(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1848)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void com.google.common.util.concurrent.ListenableFuture.addListener(java.lang.Runnable, java.util.concurrent.Executor)' on a null object reference
at X.1jw.C(:112065)
at X.IVw.K(:2060973)
at X.IVP.A(:2059980)
at com.facebook.platform.common.activity.PlatformWrapperActivity.onActivityResult(:982510)
at android.app.Activity.dispatchActivityResult(Activity.java:7137)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4916)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4963)
at android.app.ActivityThread.access$1600(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1848)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)