Android Facebook墙贴

时间:2014-02-20 10:30:31

标签: java android facebook

有以下代码:

    FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this)
            .setLink("some url")
            .build();
    uiHelper.trackPendingDialogCall(shareDialog.present());

它代码对我有用,一切都很好。但是存在以下问题:如果设备上不存在原生Facebook应用程序,那么我的代码会抛出异常。我该如何解决?是否可以通过浏览器发布,或者如果用户没有安装Facebook应用程序,我必须禁用在墙上发布的功能?

异常

 com.facebook.FacebookException: Unable to create Intent; this likely means the Facebook app is not installed.

1 个答案:

答案 0 :(得分:0)

在FacebookDialog中有一个canPresentShareDialog方法,您应该在创建和呈现FacebookDialog之前检查它。 canPresent方法将检查Facebook应用程序的存在以及应用程序的版本(以确保它兼容)。

如果canPresentShareDialog失败,那么您可以使用WebDialog类来呈现共享对话框的webview版本(称为Feed对话框)。