Facebook使用一种服务在Android上推送信使泡泡 - 如下所示: http://www.piwai.info/chatheads-basics/
我想检测气泡何时打开/关闭
我已开始调查以下选项 -
收听(通过拉动)正在运行的服务 - 我发现当显示信使时有4个服务,当它被杀死时有2个服务。我想知道信使泡沫什么时候关闭,所以它对我没有帮助。
收听通知 - 我知道它何时完全删除(当用户将其拖到'X'区域时) - 也没有帮助。
我正在寻找一个黑客,知道Facebook泡沫何时开启以及何时关闭。
答案 0 :(得分:1)
通过open \ closed你的意思是聊天气泡仍然在屏幕上,聊天窗口是打开\关闭,还是泡泡是可见的还是不可见的?如果是后者:
检查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>
您可能会尝试在自己的服务中截取这些广播,并以某种方式跟踪气泡的开启\关闭。
(披露:我自己从未尝试过这样的事情,如果这个建议被证明是不切实际的话,我会乐意修改\删除这个答案)
答案 1 :(得分:0)
恐怕你不能这样做。
要做到这一点,Facebook应用应该使用其中一个公共Android API,如Broadcasts
甚至Notifications
。但他们没有使用任何一种。
当用户关闭气泡时,它会在内部关闭。你无法访问它。
您可以使用名为xposed framework
的内容为root用户设备访问它。