我有一个应用程序,我想在 Facebook 上分享历史记录。我的应用程序没有网络。我只想分享带有标题和描述的图像,如果有可能,当点击共享网站时,他们会重定向到 google play 下载应用程序或 Facebook 应用程序页面。
我在大多数 Facebook 样本中寻找答案,但这里肯定有一些我做错了的事情。
我做了所有 facebook 应用程序配置。密钥哈希等...我在开放图中创建了一个名为 Publicar a Lugar 的历史记录。动作=“公共”对象=“Lugar”。
我有这个代码
private void OpenShareDialog(){
Session session = Session.getActiveSession();
if (session != null) {
// Check for publish permissions
List<String> permissions = session.getPermissions();
if (!isSubsetOf(PERMISSIONS, permissions)) {
pendingPublishReauthorization = true;
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(this, PERMISSIONS);
session.requestNewPublishPermissions(newPermissionsRequest);
return;
}
}
OpenGraphObject oplugar = OpenGraphObject.Factory.createForPost("namespace:lugar");
oplugar.setProperty("og:type","namespace:lugar");
oplugar.setProperty("og:title", LugarCargado.getNombre());
//oplugar.setProperty("og:image", "http://estaticos.sport.es/resources/jpg/2/1/1391546433412.jpg");
//oplugar.setProperty("og:url", "http://www.udg.edu/");
oplugar.setProperty("og:description", LugarCargado.getDescripcion());
//Bitmap bitmap;
//List<Bitmap> bitmaps = new ArrayList<Bitmap>();
//bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.icoappfacebook2);
//Log.i(TAG, "Imagen: Height:"+bitmap.getHeight()+ " Width:"+ bitmap.getWidth());
//bitmaps.add(bitmap);
//OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
OpenGraphAction action = OpenGraphAction.Factory.createForPost("namespace:publicar");
action.setProperty("lugar", oplugar);
action.setType("namespace:publicar");
action.setProperty("previewPropertyName", oplugar);
FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(this, action, "lugar")
//.setImageAttachmentsForObject("lugar", bitmaps, true)
//.setImageAttachmentsForAction(bitmaps,true);
.build();
uiHelper.trackPendingDialogCall(shareDialog.present());
}
我在智能手机中调试时遇到两个不同的错误:
1-如果我取消注释其中一行
//oplugar.setProperty("og:image", "http://estaticos.sport.es/resources/jpg/2/1/1391546433412.jpg");
//oplugar.setProperty("og:url", "http://www.udg.edu/");
我有一个错误,显示“com.facebook.FacebookException:无法为用户生成预览。”。我无法输入网址
2-如果我想添加自定义图像。如果我取消注释这段代码
//Bitmap bitmap;
//List<Bitmap> bitmaps = new ArrayList<Bitmap>();
//bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.icoappfacebook2);
//Log.i(TAG, "Imagen: Height:"+bitmap.getHeight()+ " Width:"+ bitmap.getWidth());
//bitmaps.add(bitmap);
and
//.setImageAttachmentsForAction(bitmaps,true);
我有一个黑色的窗口,似乎有什么东西重新启动了......
02-08 15:09:46.500: W/GAV3(15911): 线程[GAThread,5,main]: 服务不可用(代码=1),
将重试。
02-08 15:09:46.500: I/GAV3(15911): 线程[GAThread,5,main]: 否
找到活动数据。 02-08 15:09:48.482:D/AbsListView(15911):
unregisterIRListener() 被调用为 02-08 15:09:48.982:
D/AbsListView(15911): onVisibilityChanged() 被调用,可见性:4
02-08 15:09:48.982: D/AbsListView(15911): unregisterIRListener() 是
调用 02-08 15:09:51.525: W/GAV3(15911): 线程[服务
重新连接,5,main]:服务不可用(代码=1),使用本地存储。
02-08 15:09:53.778:D/AbsListView(16092):获取 MotionRecognitionManager
02-08 15:09:53.778:D/AbsListView(16092):onVisibilityChanged()是
调用,可见性:8 02-08 15:09:53.778:D/AbsListView(16092):
unregisterIRListener() 被调用为 02-08 15:09:53.788:
D/进度条(16092):setProgress = 0 02-08 15:09:53.788:
D/ProgressBar(16092): setProgress = 0, fromUser = false 02-08
15:09:53.788: D/ProgressBar(16092): mProgress = 0m不确定 =
假,mMin = 0,mMax = 10000 02-08 15:09:53.828:
D/AbsListView(16092): onVisibilityChanged() 被调用,可见性:4
02-08 15:09:53.828: D/AbsListView(16092): unregisterIRListener() 是
称为 02-08 15:09:53.838: D/AbsListView(16092):
onVisibilityChanged() 被调用,可见性:0 02-08 15:09:53.838:
D/AbsListView(16092): unregisterIRListener() 被调用 02-08
15:09:53.848:D/libEGL(16092):已加载
/system/lib/egl/libEGL_adreno200.so 02-08 15:09:53.858:
D/libEGL(16092): 已加载 /system/lib/egl/libGLESv1_CM_adreno200.so
02-08 15:09:53.858:D/libEGL(16092):已加载
/system/lib/egl/libGLESv2_adreno200.so 02-08 15:09:53.858:
I/Adreno200-EGL(16092): : EGL 1.4
高通构建:
AYELDER_AU_LINUX_ANDROID_JB_2.5.5.04.02.02.092.023+PATCH[ES]_msm8960_JB_2.5.5_CL3556704_release_ENGG (CL3556704) 02-08 15:09:53.858: I/Adreno200-EGL(16092) ): 构建日期:
2013 年 5 月 17 日星期五 02-08 15:09:53.858:I/Adreno200-EGL(16092):本地分支:
02-08 15:09:53.858:I/Adreno200-EGL(16092):远程分支:
quic/jb_2.5.5 02-08 15:09:53.858:I/Adreno200-EGL(16092):本地
补丁:34c9e193f12610d3e68dabd6198d2c4bfbc66974 RB:更新
掌握
rb_texture_update_aliased 02-08 中 hw_image 的时间戳
15:09:53.858:I/Adreno200-EGL(16092):重建分支:
AU_LINUX_ANDROID_JB_2.5.5.04.02.02.092.023 + 01d3c78 +
e6f0547 + LOCAL_PATCH[ES] 02-08 15:09:53.878:
D/OpenGLRenderer(16092): 启用调试模式 0 02-08 15:09:53.878:
D/ProgressBar(16092): updateDrawableBounds: left = 0 02-08
15:09:53.878:D/ProgressBar(16092):updateDrawableBounds:顶部= 0
02-08 15:09:53.878:D/ProgressBar(16092):updateDrawableBounds:右
= 72 02-08 15:09:53.878: D/ProgressBar(16092): updateDrawableBounds: 底部 = 72 02-08 15:09:54.058: I/System(16092): 加载时区
en 的名称需要 217 毫秒(ICU 中为 205 毫秒)02-08 15:09:54.088:
D/AbsListView(16092):调用 onVisibilityChanged(),可见性:0
02-08 15:09:54.088: D/AbsListView(16092): unregisterIRListener() 是
称为 02-08 15:09:54.168: D/AbsListView(16092):
unregisterIRListener() 被调用为 02-08 15:09:54.178:
D/AbsListView(16092): unregisterIRListener() 被调用 02-08
15:09:54.188:E / ViewRootImpl(16092):sendUserActionEvent()mView ==
空02-08 15:09:54.268:D / AbsListView(16092):unregisterIRListener()
被称为 02-08 15:09:58.833: W/GAV3(16092): Thread[GAThread,5,main]:
服务不可用(代码=1),将重试。 02-08 15:09:58.833:
I/GAV3(16092):线程[GAThread,5,main]:未找到活动数据。 02-08
15:10:03.838:W/GAV3(16092):线程[服务重新连接,5,主要]:服务
不可用(代码=1),使用本地存储。 02-08 15:10:10.565:
D/AbsListView(16092):调用 unregisterIRListener()
并显示之前的活动。
通过上面的代码,sharedialog 向我显示了 facebook 对话框,我可以分享。但没有链接,也没有我的图片。
你能帮助我吗?我尝试了很多不同的事情!
这是我的智能手机?脸书版本?
您是否有一个简单的示例来在共享对话框中共享带有描述的自定义(为用户制作)图像?
谢谢并抱歉我的英语。