我正在尝试学习如何开发Android,我目前正在关注活动生命周期的本教程:https://developer.android.com/training/basics/activity-lifecycle/pausing.html
我创建了一个非常简单的代码来检查onPause()
和onResume()
函数的触发,例如对于onPause()
我刚刚在我的一个活动中写了以下内容(我为onResume()
函数做了同样的事情):
@Override
protected void onPause() {
super.onPause();
Toast.makeText(this, "ON PAUSE", Toast.LENGTH_LONG).show();
Log.i("STATUS_ON_PAUSE", "ON PAUSE");
}
当我开始/停止活动或当我从一个活动切换到另一个活动时,我会看到相应的Toasts和日志。但是,当我将facebook-messenger对话覆盖在我的活动上时,我什么也看不到。打开对话时没有Toast(我原本希望看到“ON PAUSE”),将焦点重新放回我的应用程序时没有Toast。
我试图在更广泛的层面(我的设备)检查日志文件,但我仍然不够好,不能真正理解那里发生的事情(信息太多)。 所以,我的问题是:当我向聊天室提供/移除焦点时,为什么我的活动没有暂停/恢复?谢谢!
答案 0 :(得分:2)
最简单的答案是:
Messenger正在向窗口添加视图,而不是开始新活动。
这就是Messenger需要SYSTEM_ALERT_WINDOW权限的原因,当你看到它的详细信息时你可以看到: “借鉴其他应用”权限。
您可以看到THIS ARTICLE