关注THIS我在我的Android应用程序中使用facebook sdk并进行测试我已将下面的代码添加到我的MainActivity中:
CallbackManager callbackManager;
ShareDialog shareDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
if (ShareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("Hello Facebook")
.setContentDescription(
"The 'Hello Facebook' sample showcases simple Facebook integration")
.setContentUrl(Uri.parse("http://developers.facebook.com/android"))
.build();
shareDialog.show(linkContent);
}
}
我在清单中添加了以下步骤:
<uses-permission android:name="android.permission.INTERNET"/>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<provider android:authorities="com.facebook.app.FacebookContentProvider950310748347640"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
当我测试时,shareDialog会弹出并突然自动关闭。
答案 0 :(得分:28)
您需要制作应用程序&#34; Public&#34;。
转到&#34;状态和评论&#34;您的应用设置中的部分,并打开选项&#34;您是否希望将此应用及其所有实时功能提供给公众?&#34;
答案 1 :(得分:4)
您需要在show()方法上指定Mode。在FEED之间,
NATIVE,WEB和AUTOMATIC
最方便的是最后一个(AUTOMATIC),因为它直接从Facebook应用程序收集数据,因此您不必登录,但有时它会意外关闭..
一般来说,这就是我的事情:
AUTOMATIC :(有时在启动时立即关闭..)1)仅使用facebook app 2)无需重新登录3)分享任何其他分享 在这里看一看:https://developers.facebook.com/docs/reference/android/current/class/ShareDialog.Mode/ 所以我建议使用WEB,因为它始终有效:
shareDialog.show(linkContent,ShareDialog.Mode.WEB);
答案 2 :(得分:2)
问题在于我正在测试应用程序的手机,因为看起来你必须使用Facebook帐户登录到Facebook应用程序,该帐户被标记为您的应用程序注册的开发人员,然后它将按预期工作以及我假设以后使用发布ssh密钥时,它可以在任何具有任何帐户的设备上使用。
答案 3 :(得分:1)
这是因为该应用程序不在线并且可供公众使用。为此,您首先需要拥有隐私政策链接。 Facebook最近更新了他们的政策,该政策要求几乎每个应用都在仪表板中设置他们的隐私政策链接。您可以使用https://www.iubenda.com/privacy-policy-generator免费生成一个。希望它有所帮助!
答案 4 :(得分:0)
我的情况不同。我遇到此问题有三个原因:
App FB应用ID无效(有两个facebook应用,我不小心设置了错误的应用ID)。
图片网址无效/有自签名证书问题:og:image
。我从https
更改为http
并且有效。
网址无效:og:url
。该网址以www开头,其中正确的方式为http
或https
,后跟www
希望这有助于某人。
答案 5 :(得分:0)
当您使用为其他应用创建的测试用户登录Facebook时,可能会发生这种情况。