当前位置: 首页 > 知识库问答 >
问题:

适用于android的Facebook共享API打开基于Web的对话框而不是本机应用程序

龙繁
2023-03-14

我在我的android应用程序中实现了facebook共享,当我阅读文档时,它说:

"共享对话框切换到原生Facebook for Android应用程序,然后在发布帖子后将控制权返回给您的应用程序。根据您使用的SDK,人们可能需要点击返回箭头图标才能返回到您的应用程序。如果未安装Facebook应用程序,共享对话框会自动回退到基于Web的对话框。"

我在facebook的主要活动中有一个分享功能

    fun facebookShare() {
        try {
            val content = ShareLinkContent.Builder()
                .setContentUrl(Uri.parse("https://play.google.com/store/apps/details?id=Avedot"))
                .setQuote(getString(R.string.facebookText))
                .build()
            val shareDialog = ShareDialog(this)
            if (shareDialog.canShow(content)) {
                shareDialog.show(content)
            }
        } catch (ex: ActivityNotFoundException) {
            Toast.makeText(this, "Facebook have not been installed.", Toast.LENGTH_SHORT).show()
        }
    }

当我调用该函数时,它会打开一个基于web的对话框,而不是facebook应用程序(已安装)。。我试着重新安装,但仍然不起作用。。有什么建议可以解释为什么共享对话框是以基于web的对话框而不是在本机facebook应用程序中打开的?

共有1个答案

魏翔
2023-03-14

让我们检查一下你的SDK,也许它和SDK的版本有关。

高级主题

内置共享回退

在过去版本的Android SDK中,你的应用程序必须先检查一个本机安装的Facebook应用程序,然后才能打开共享对话框。如果此人没有安装应用程序,你必须提供自己的代码来调用回退对话框。

现在SDK会自动检查原生Facebook应用程序。如果未安装,SDK会将人们切换到默认浏览器并打开提要对话框。

 类似资料:
  • 我已经设置了简单的facebook登录。对于Android 2.3.6,一切正常,用户得到提示登录对话框,输入数据,应用程序继续运行。我以为这是Android版本的错误,但事实证明,当手机上安装了facebook应用程序时,登录不起作用! 在Galaxy Ace 2.3.6 HTC Desire 4.1.2 Galaxy Note 4.1.2 Android emulator 4.1.2上进行了测

  • 当我在Android手机上调试应用程序时,我绝对没有遇到任何错误,但在AVD上,我一开始就得到了一个NullPointerException()。我的Android设备在22 API的Lollipop(5.1.1)上运行,我的AVD在28 API的Pie(9.0)上运行。我在gradle中将最小SDK设置为21,编译SDK设置为28。 这是错误: E/AndroidRuntime:致命异常:主进程

  • 我试图将openFiles()方法的内脏移到actionPerformed()方法中的相应位置,但仍然没有起作用。但是,在另一个人用于不同目的的代码中,showOpenDialog()方法在从actionPerformed方法内部调用的方法中工作。代码如下: 谢谢你的帮助。

  • 有没有人有过自动化桌面应用程序(不是web)的经验?我需要一个类似于Appium的解决方案来将它与我的移动自动化集成(用Appium、Java编写)。 我们公司在3个平台上都有一个messenger客户端:Android、iOS和桌面。客户端数据在这些平台之间同步。我们已经有了移动平台的基本自动化(使用Appium)。现在我需要为桌面开发自动化。 我想要一个类似Appium的解决方案,这样就可以很

  • 我希望采用Glide库来代替通用图像加载器,但在共享元素转换方面遇到了问题。 在我的简单沙盒中,我使用UIL创建了以下过渡:https://dl.dropboxusercontent.com/u/97787025/device-2015-06-18-113333.mp4 非常简单,而且效果很好。但当我使用Glide时,它看起来不太好看:https://dl.dropboxusercontent.c

  • 问题内容: 我正在设计一个简单的基于Web的应用程序。我是这个基于Web的领域的新手,我需要您提供有关设计模式的建议,例如应如何在Servlet之间分配职责,创建新Servlet的条件等。 实际上,我主页上的实体很少,而与每个实体相对应,我们几乎没有添加,编辑和删除等选项。之前,我为每个选项使用一个Servlet,例如Servlet1用于添加实体1,Servlet2用于编辑实体1,依此类推,这样我