用户生成的图像发送图形故事后,Facebook应用程序崩溃

时间:2014-03-27 08:11:58

标签: android facebook facebook-graph-api bitmap

我正在使用此代码使用自定义位图向Facebook提交自定义操作:

//object
            OpenGraphObject pic = OpenGraphObject.Factory.createForPost("mobileglobalshapers:globalpicture");
            pic.setProperty("title","Shape Latam");
            //pic.setProperty("image","https://emaginelab.com/globalshapers/public/placeholder_400.jpg");
            pic.setProperty("description","test description");
            pic.setProperty("url","http://emaginelab.com/globalshapers/public/object.html");

            List<Bitmap> images = new ArrayList<Bitmap>();
            images.add(combineInnerViews(imagesWrapper));

            //action
            OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
            action.setType("mobileglobalshapers:take");
            action.setProperty("globalpicture",pic);

            //show
            FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(this,action,"globalpicture")
                    .setImageAttachmentsForObject("globalpicture",images,true)
                    .build();
            uiHelper.trackPendingDialogCall(shareDialog.present());

这里combineInnerViews(imagesWrapper)返回一个位图。

问题是,当我调用此方法时,Facebook应用程序崩溃而不显示,它会自动将我返回到应用程序。它不会产生任何日志,所以我不知道会出现什么问题。

注意:在操作系统早于4.1的设备中似乎不会发生此错误。我已经在Galaxy S2和Galaxy Ace(4.1.2和2.3.6)中进行了测试,它不会崩溃。

我正在使用facebook SDK 3.8.0

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:3)

没关系,我找到了原因。

在AndroidManifest.xml中声明内容提供程序时,需要添加以下属性:

 android:exported="true"

否则操作系统将抛出安全异常,Facebook意图将崩溃