您好我已将Facebook sdk集成到我的项目中,以下是打开shareDialog框以与Image共享文本的代码
if (ShareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("Hello Facebook")
.setImageUrl(Uri.parse("file://"+saveCanvasImage()))
.setContentDescription("The 'Hello Facebook' sample showcases simple Facebook integration")
.setContentUrl(Uri.parse("http://developers.facebook.com/android"))
.build();
shareDialog.show(linkContent);
AndroidMenifest.xml中的文件代码在
下面 <activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />
<meta-data
android:name="com.facebook.sdk.ApplicationName"
android:value="@string/facebook_app_name" />
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider863551910397594"
android:exported="true" />
我还提供了
中的Key Hasheshttps://developers.facebook.com/apps
当我执行上面的代码时,我将在LOGCAT
中获得以下日志07-03 11:33:29.352: I/ActivityManager(756): START u0 {act=PassThrough cmp=com.drcsystems.emoji/com.facebook.FacebookActivity (has extras)} from uid 10512 on display 0
07-03 11:33:29.355: V/WindowManager(756): addAppToken: AppWindowToken{228e0639 token=Token{3b676e00 ActivityRecord{1c400c83 u0 com.drcsystems.emoji/com.facebook.FacebookActivity t5409}}} to stack=1 task=5409 at 1
答案 0 :(得分:1)
在您的活动中使用此段代码打开Facebook对话框:
FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this).setName("name").
setLink("Website").setDescription("description").build();
答案 1 :(得分:0)
添加回调后我得到了
.setImageUrl(Uri.parse("file://"+saveCanvasImage()))
需要http://或https://
上面的代码应该是
.setImageUrl(Uri.parse("http://....."))
意味着您无法直接从SD卡上共享,您需要先在任何服务器上传,然后才能与之共享