Facebook 分享按钮无法在真实 android 设备中打开对话框
Facebook share button doesnt open dialog in real android devices
我在 android 应用程序中使用 facebook ShareButton。该应用程序尝试在 facebook 中共享文本。我的应用程序成功登录了 facebook。清单文件中的哈希键和应用程序键是正确的我检查过。
android:minSdkVersion="19"
android:targetSdkVersion="23"
我正在使用带有嵌套片段的 viewpager。我正在使用以下功能在 facebook 中设置共享按钮,并且我已经定义了一个用于签入的自定义按钮,当用户单击签入时,我正在执行单击 facebook 共享按钮。此 senario 在模拟器中成功运行,当用户使用与共享不同的提供商登录时,共享按钮会打开一个登录对话框。如果用户使用 facebook 登录,它会直接打开共享对话框。但在真实设备中,单击按钮不会打开共享对话框,但会尝试一点屏幕效果,但什么也没有出现,只显示当前片段。但是屏幕变得禁用(就像屏幕上有其他东西一样),当我按下后退按钮时,应用程序进入实际状态并且当前片段变得可用。我已经通过互联网搜索,但找不到解决方案。任何人都有想法。
checkinButtonAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isFacebook && facebookEnable.isChecked())
{
// Create an object
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "restaurant.restaurant")
.putString("og:title", ((MainActivity) getActivity()).clickedRestaurantName)
.putString("og:description", uc.formCheckinText())
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("restaurant.visited")
.putObject("restaurant", object)
.build();
// Create the content
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("restaurant")
.setAction(action)
.build();
facebookCheckinButton.setShareContent(content);
facebookCheckinButton.performClick();
}
}
});
问题出在 Facebook 应用程序提交过程中。在开发人员模式下,您正在向用户请求权限,而 facebook 不需要除此之外的任何其他内容。但是当你把你的应用程序放在 google 播放(即使是内测)时,在 facebook 中,你必须发布你的应用程序并按照步骤获得你需要的权限。例如,要在 facebook 上发布一个动作,您需要获得 publish_action 权限,而要获得该权限,facebook 需要您提供屏幕截图和截屏视频。您必须完成这些步骤并在您的 fb 开发者控制台的 "App Review" 部分提交一个版本。
我在 android 应用程序中使用 facebook ShareButton。该应用程序尝试在 facebook 中共享文本。我的应用程序成功登录了 facebook。清单文件中的哈希键和应用程序键是正确的我检查过。
android:minSdkVersion="19"
android:targetSdkVersion="23"
我正在使用带有嵌套片段的 viewpager。我正在使用以下功能在 facebook 中设置共享按钮,并且我已经定义了一个用于签入的自定义按钮,当用户单击签入时,我正在执行单击 facebook 共享按钮。此 senario 在模拟器中成功运行,当用户使用与共享不同的提供商登录时,共享按钮会打开一个登录对话框。如果用户使用 facebook 登录,它会直接打开共享对话框。但在真实设备中,单击按钮不会打开共享对话框,但会尝试一点屏幕效果,但什么也没有出现,只显示当前片段。但是屏幕变得禁用(就像屏幕上有其他东西一样),当我按下后退按钮时,应用程序进入实际状态并且当前片段变得可用。我已经通过互联网搜索,但找不到解决方案。任何人都有想法。
checkinButtonAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isFacebook && facebookEnable.isChecked())
{
// Create an object
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "restaurant.restaurant")
.putString("og:title", ((MainActivity) getActivity()).clickedRestaurantName)
.putString("og:description", uc.formCheckinText())
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("restaurant.visited")
.putObject("restaurant", object)
.build();
// Create the content
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("restaurant")
.setAction(action)
.build();
facebookCheckinButton.setShareContent(content);
facebookCheckinButton.performClick();
}
}
});
问题出在 Facebook 应用程序提交过程中。在开发人员模式下,您正在向用户请求权限,而 facebook 不需要除此之外的任何其他内容。但是当你把你的应用程序放在 google 播放(即使是内测)时,在 facebook 中,你必须发布你的应用程序并按照步骤获得你需要的权限。例如,要在 facebook 上发布一个动作,您需要获得 publish_action 权限,而要获得该权限,facebook 需要您提供屏幕截图和截屏视频。您必须完成这些步骤并在您的 fb 开发者控制台的 "App Review" 部分提交一个版本。