gpt4 book ai didi

java - Android 分享到 Facebook 不工作

转载 作者:行者123 更新时间:2023-11-30 10:14:59 25 4
gpt4 key购买 nike

我正在尝试共享内容 URL 并将其发送到 Facebook。我一直在关注官方文档,我在等级上有依赖关系,我的 list 文件中有以下内容

        <meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />

<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />

<provider android:authorities="com.facebook.app.FacebookContentProvider247315745828416"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
</application>

我可以正常使用 facebook 登录我的应用程序。在我的代码中,我通过执行以下操作来调用共享内容

private void uploadToFacebook(){

ShareLinkContent content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse("https://developers.facebook.com"))
.build();
shareDialog.show(content, ShareDialog.Mode.AUTOMATIC);
toastMessage("Done");

}

当我在没有 shareDialog.show() 的情况下运行代码时,会出现 toast 消息,但 url 不会发送到我的 facebook 墙上。

当我包含 shareDialog.show() 时,应用程序崩溃并且出现空指针异常。

内容绝对是一个对象,因为当我将它转换为我得到的字符串时我得到了一个值

com.facebook.share.model.ShareLinkContent@c63dc77

我正在使用 android 版本 2.3.3 任何帮助将不胜感激,因为我似乎无法理解我做错了什么。我也存储了一个 key 哈希。

最佳答案

在您的 list 文件中:

<meta-data android:name="com.facebook.sdk.ApplicationName"
android:value="@string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />

<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/fb_login_protocol_scheme" />
</intent-filter>
</activity>

我想你的 list 上已经有互联网许可了。

然后试试这个:

import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;
import com.facebook.share.model.ShareLinkContent;
import com.facebook.share.widget.LikeView;
import com.facebook.share.widget.ShareButton;

//创建时

private ShareButton shareButton;
private ShareLinkContent content;

FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);

shareButton = (ShareButton) findViewById(R.id.sharing_button);
content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse("your-url"))
.build();

shareButton.setShareContent(content);

应该怎么做。考虑到 facebook sdk 已经更新,一些以前的功能可能会被弃用或从 2/5/2018 开始无法使用。更多信息 here .

希望对您有所帮助。

关于java - Android 分享到 Facebook 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50689980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com