【发布时间】:2015-07-29 10:01:13
【问题描述】:
我有一个应用程序,我可以在其中分享到 facebook 和 twitter 按钮。我可以使用 Twitter 按钮进行管理,但是 facebook 共享的这段代码给了我错误,它使我的应用程序崩溃。这是我第一次使用 Facebook sdk,在 Facebook DOCS 中找不到相关解释。该按钮应向用户墙发布一条文字说明。
public void shareToFacebook(View view){
ShareLinkContent content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse("https://developers.facebook.com")).setRef("eee")
.build();
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
ShareButton shareButton = (ShareButton)findViewById(R.id.sharefb);
shareButton.setShareContent(content);
// this part is optional
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {});
if(ShareDialog.canShow(ShareLinkContent.class))
{
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("Hello Facebook")
.setContentDescription(
"The 'Hello Facebook' sample showcases simple Facebook integration")
.setContentUrl(Uri.parse("http://developers.facebook.com/android"))
.build();
shareDialog.show(linkContent);
}
这基本上是 DOCS 中的内容,因为我无法编译它,然后查看 Log 中的哪些部分。
更新:
这是错误日志: 引起:java.lang.reflect.InvocationTargetException
不是抽象的,不会覆盖 FacebookCallback 中的抽象方法 onError(FacebookException)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at android.view.View$1.onClick(View.java:3964)
at android.view.View.performClick(View.java:4637)
at android.view.View$PerformClick.run(View.java:19422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5586)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.inc.nicky.tapit.TapAdventure.moveButton(TapAdventure.java:126)
at com.inc.nicky.tapit.TapAdventure.tapped(TapAdventure.java:136)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at android.view.View$1.onClick(View.java:3964)
at android.view.View.performClick(View.java:4637)
at android.view.View$PerformClick.run(View.java:19422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5586)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
你能添加错误日志/堆栈跟踪吗?