android - 如何检测 Facebook Messenger 何时打开气泡?

标签 android facebook facebook-messenger system-alert-window

Facebook 使用一项服务在 Android 上推送 Messenger 气泡 - 如下所示: http://www.piwai.info/chatheads-basics/

我想检测气泡何时打开/关闭

我已经开始研究以下选项 -

  • 收听(通过拉动)正在运行的服务 - 我发现当信使显示时有 4 个服务,当它被杀死时有 2 个服务。我想知道 Messenger 气泡何时关闭,所以它对我没有帮助。

  • 听通知 - 我知道它什么时候被完全删除(当用户将它拖到“X”区域时) - 也没有帮助。

我正在寻找黑客来了解 Facebook 气泡何时打开以及何时关闭。

最佳答案

打开\关闭是指聊天气泡保留在屏幕上并且聊天窗口打开\关闭,还是气泡可见或不可见?如果是后者:

检查 AndroidManifest.xml 我们可以看到以下内容:

<receiver android:name="com.facebook.orca.chatheads.service.ChatHeadsServiceBroadcastReceiver"
          android:permission="com.facebook.permission.prod.FB_APP_COMMUNICATION">
    <intent-filter android:priority="499">
        <action android:name="com.facebook.orca.chatheads.ACTION_SHOW_CHATHEADS"/>
        <action android:name="com.facebook.orca.chatheads.ACTION_HIDE_CHATHEADS"/>
        <action android:name="com.facebook.orca.chatheads.ACTION_SET_CHATHEADS_POLICY"/>
    </intent-filter>
</receiver>

您可以尝试在您自己的服务中拦截这些广播,并以某种方式跟踪气泡的打开\关闭。


(披露:我自己从未尝试过这样的事情,如果这个建议被证明不切实际,我很乐意修改\删除这个答案)

关于android - 如何检测 Facebook Messenger 何时打开气泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27632995/

相关文章:

android - 如何在 ImageView 上绘图

ios - Flex 4.5 Mobile - Facebook 授权

node.js - Facebook Messenger Bot - 如何使用 NodeJS 获取用户信息?

ios - 通过 FBSDKShareLinkContent 在 Messenger 上分享内容失败

swift - 如何在选择器事件中添加事件 "send to messenger"?

php - AsyncTask 连接超时

android - Github 发布 Android 项目,Travis 无法运行

java - 如何在 Webview 中单击屏幕上隐藏和显示 Android 组件?

javascript - Facebook 分享弹出按钮在第一次点击后停止工作

ruby-on-rails - Facebook Canvas 应用程序不保存 session