Facebook SDK 只适用于 Activity 吗?

2024-05-27

我一直在尝试将 Facebook SDK 实现到我的应用程序中,以便让用户通过该应用程序在我们的粉丝墙上发布消息。但是,我什至无法通过 SDK 登录用户。

在 SDK 示例中,给出了一个简单的示例,该示例使用Activity尝试使用单点登录授权用户。我自己尝试过这个例子,它有效。我能够登录,我必须授权该应用程序使用我的 Facebook 数据,并且我可以看到在 LogCat 中发出和接收的请求。

现在,我尝试将相同的代码添加到我自己的应用程序中。这个应用程序是Fragment基于使用兼容性包。有一个中央FragmentActivity我的其余课程都很简单Fragments。将示例代码添加到其中之一时Fragments,Facebook 应用程序在尝试授权时会启动半秒,但随后关闭并且没有任何反应。我又回到了我的常规 Fragment 中。

此后检查 LogCat 时,除了显示我添加的一些打印检查以及它正在启动 Facebook 意图之外,没有任何迹象表明 Facebook 应用程序甚至打开或发出任何请求:

01-12 13:19:40.874: I/System.out(6087): Calling authorize
01-12 13:19:40.874: I/ActivityManager(1380): Starting activity: Intent { cmp=com.facebook.katana/.ProxyAuth (has extras) } from pid 6087
01-12 13:19:40.874: I/System.out(6087): Called authorize

除此之外,没有任何返回。没有 Facebook 检查,也没有声明说我的密钥错误或任何其他情况,什么都没有。 Facebook 的意图被调用,但几乎立即关闭,没有其他任何迹象表明它甚至是开放的。

这已经让我困惑了几个小时,我开始认为常规的、提供样本的方法在Fragments由于方式Fragments work.

我一直在使用的代码发布在下面。 Fragment 由一个按钮触发,该按钮调用FragmentTransaction。我在这里做的事情根本上是错误的吗?还是 Facebook SDK 真的无法使用?Fragments?我尝试过寻找这个问题,但找不到其他人有同样的情况。


public class FanWallFacebook extends Fragment {

    Facebook facebook = new Facebook("294678133912628");

    public FanWallFacebook() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.filler, container, false);
    }

    @Override
    public void onStart() {
        super.onStart();

        System.out.println("Calling authorize");
        facebook.authorize(getActivity(), new DialogListener() {
            @Override
            public void onComplete(Bundle values) {
                System.out.println("Completed");
            }

            @Override
            public void onFacebookError(FacebookError error) {
                System.out.println("Facebook error: "+error.getMessage());
            }


            @Override
            public void onError(DialogError e) {
                System.out.println("General error: "+e.getMessage());
            }

            @Override
            public void onCancel() {
                System.out.println("Cancelled");
            }
        });

        System.out.println("Called authorize");

    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        facebook.authorizeCallback(requestCode, resultCode, data);
        System.out.println("Authorize callback'd");
    }

}

Edit

刚刚尝试使用FragmentActivity,你瞧,这确实有效。它成功登录了。看来 SDK 确实只适用于显式扩展的类...Activity。谁能告诉我为什么会出现这种情况?我一直以为Fragments某处延伸线Activity以及。


我最终使用了FragmentActivity用于我的 Facebook 互动。这不是理想的解决方案,但它确实有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook SDK 只适用于 Activity 吗? 的相关文章

  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • 如何在android中获取Camera2 API的当前曝光

    In android hardware Camera旧的 我使用下面的代码获取当前曝光并获取它Camera Camera Parameters param mCamera getParameters currentExposure para
  • android xamarin 中的 reCaptcha

    我想在 Xamarin android 应用程序中实现验证码 我抓住了这个在 Android 中集成 googles reCaptcha 验证 https www c sharpcorner com article how to integ
  • Adobe 是否为其 PDF 阅读器提供 Android SDK 或 API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在我们的应用程序内的视图中显示本地 PDF 文件 在 Android 4 03 下的平板电脑上运行 目前 我们将 Adob eR
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 带有 EditText 和 Spinner 的对话框

    我有一个按钮 单击后会弹出一个对话框 我希望对话框有一个EditText and a Spinner对话框内 我不知道如何设置它的视图 我有一个代码AlertDialog它有效 只是EditText and Spinner我需要将其放入其中
  • 无法访问 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件未找到

    我正在将我的 Android 应用程序项目从GCM to FCM 为此 我使用 Android Studio 中的 Firebase 助手工具 并遵循 Google 开发人员指南中的说明 一切都很顺利 并将我的应用程序代码更改为FCM根据助
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • 如何默认在 ActionOpenDocument 意图中显示“内部存储”选项

    我需要用户选择一个自定义文件类型的文件 并将其从 Windows 文件资源管理器拖到 Android 设备上 但默认情况下内部存储选项不可用 当我使用以下命令启动意图时 var libraryIntent new Intent Intent
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • Matplotlib 颤抖比例

    我正在尝试使用 matplotlib 和 quiver 函数绘制一些箭头 但我想使用数组单独选择每个箭头的长度 http matplotlib sourceforge net api pyplot api html matplotlib p
  • Cookie 过期时间格式

    我从谷歌浏览器的 Cookies 文件和其中的一列创建了数据库cookies表是expires utc 该列的格式类似于 13169399213145330 这更像是unix时间 但是当我尝试使用 unix 时间转换器时 它给出了错误的值
  • 接口对象无法扩展 Record

    为什么接口无法扩展Record interface Data a string Data extends Record
  • dplyr 标准评估:summarise_ 以及求和变量的变量名称

    我遇到了很多与我的问题类似的问题 但只解决了我问题的一部分 我使用带有标准评估的 dplyr 来容纳变量名称 这对于管道中的 filter 和 group by 效果很好 但是 为了总结 我无法为我正在求和的指标提供变量名称 一个例子就可以
  • 如何保护 ASP.NET Web API [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想建立一个RESTful使用 ASP NET Web API 的 Web 服务 第三方开发人员将使用该服务来访问我的应用程序的数据
  • 在 UIPickerView 中选择某些内容时发生某些事情

    我正在致力于创建一个使用 UIPickerView 的应用程序 我制作了视图 但我试图让某个按钮改变它的功能 请帮忙 UIPickerView 和许多其他控件使用委托模式来通知您发生的事件 要使用它添加
  • 使用“class-validator”在 TypeScript 中确认密码

    今天 我试图弄清楚如何在应用程序的后端 NestJS 验证注册表单 我只是想知道是否存在一种验证方法password and passwordConfirm匹配 使用class validator包来构建自定义验证器或利用提供的验证器 我正
  • 会话变量由于某种原因丢失

    我尝试建立一个电子商店 每件物品旁边都有一个asp imagebutton单击此图像按钮时 我正在检查会话变量是否session basket 是否存在 如果不存在 则我将值添加到列表 实体类 中 然后在会话中添加此列表 如果会话不为空 那
  • 在类中设置默认值

    我正在用 Python 创建一个类 但我不确定如何正确设置默认值 我的目标是为所有类实例设置默认值 也可以通过类方法对其进行修改 但是 我希望在调用方法后恢复初始默认值 我已经能够使用下面所示的代码使其工作 它不是很 漂亮 所以我怀疑这是解
  • Ruby 中实现的所有设计模式的备忘单?

    我想知道是否有针对 Ruby 中实现的所有设计模式的备忘单 这样您就不必重新发明轮子 设计模式对于组织大量代码非常有用 因为您不需要像在 verbose algol derivitive language 中那样编写那么多代码来在 ruby
  • 为什么 LED 保持亮起而不是闪烁?

    这是使用 pic16f676 中的 TIMER0 中断使 LED 闪烁的 MPASM 代码 端口 A 的引脚 0 RA0 未切换至关闭位置 请帮忙 我是图片组装的新手 我想掌握图片 有没有高手帮我学习一下 我需要以 1 秒的间隔眨眼 代码是
  • SimpleDateFormat 无法正确处理 DD

    我正在尝试获得这样的格式 2013 06 15 17 45 我在代码中执行以下操作 Date d new Date SimpleDateFormat ft new SimpleDateFormat YYYY MM DD HH mm Stri
  • 最低 DirectX 9.0c 版本以及如何检查它

    我们基于 Windows C Ogre 的游戏即将完成 在我们公开发布之前 我们必须解决这个问题 如果未更新到最新的 Dx9 0c 版本 Ogre 在许多测试计算机上都会崩溃 所有这些计算机都已经安装了 9 0c 但这一定是旧操作系统预安装
  • MSB6003 无法运行指定的任务可执行文件“sgen.exe”。文件名或扩展名太长

    在 Windows 10 上运行 VS 2017 15 5 3 出现此一般错误 无法运行指定的任务可执行文件 sgen exe 文件名或扩展名太长 在Release配置和X64平台上构建项目时 但它在调试配置和任何 CPU 平台上都构建得很
  • 除了推送收据之外,关闭 FireBase 调配还会影响分析吗?

    The Firebase 云消息传递文档 https firebase google com docs cloud messaging ios client说他们混合了一些方法来获取推送通知令牌并记录接收推送通知 在里面FIR 分析文档 h
  • Vimeo 播放器 JS API 在 iOS 中无法运行

    我正在尝试使用 API 来播放视频 但只有在 iOS 中单击播放器中的播放按钮后它才有效 在桌面版和 Android 版 Chrome 中 它运行良好 http codepen io bdougherty pen JgDfm http co
  • 如何加载椭圆曲线 PEM 编码的私钥? [复制]

    这个问题在这里已经有答案了 我使用 OpenSSL 生成了椭圆曲线私钥 公钥对 私钥和公钥均采用 PEM 编码 我已经弄清楚如何加载公钥 感谢this https stackoverflow com a 40439081但是 我无法弄清楚如
  • Blazor WASM(独立)B2C 身份验证与 Azure Function App 身份验证

    我正在开发 Blazor WASM 独立 不是 ASP NET 核心托管 应用程序 该应用程序已与我的 B2C 租赁集成以进行用户身份验证 我能够成功地针对 B2C 进行身份验证 没有出现任何问题 在另一个 Azure 目录中 我有一个启用
  • 通过 Javascript 不断查询服务器 - 好主意吗?

    我有一个小型网站 大约有 5 到 10 名管理员 我已将其设置为监视每个管理员正在执行的操作 添加项目 删除项目等 我的管理面板中有一个列表 显示了集体管理部门之前执行的 10 项活动 今天 我决定每 30 秒进行一次自我更新 我的问题很简
  • Facebook SDK 只适用于 Activity 吗?

    我一直在尝试将 Facebook SDK 实现到我的应用程序中 以便让用户通过该应用程序在我们的粉丝墙上发布消息 但是 我什至无法通过 SDK 登录用户 在 SDK 示例中 给出了一个简单的示例 该示例使用Activity尝试使用单点登录授