如何找出哪个应用程序有焦点

时间:2011-05-12 22:15:44

标签: android

我想编写一个应用程序,根据哪个应用程序具有焦点,自动打开和关闭自动旋转。我目前在屏幕上有一个自动旋转切换按钮用于此目的(我讨厌自动旋转,但发现它对少数应用程序很有用),但我经常忘记在启动相关应用程序时激活它,或者在我关闭时停用它完成了那个应用程序(更不用说手动切换它是一件痛苦的事)。当重点应用程序发生变化时,我无法弄清楚如何接收通知,我需要接收这些通知以自动切换。有没有办法在焦点改变时得到通知?

-Harry

2 个答案:

答案 0 :(得分:1)

这听起来非常困难。您的后台服务将不断轮询以查看谁是活跃的,并且当Android需要更多内存时可能会在您不知情的情况下被杀死...这将更令人沮丧。

也许绑定一个简单的应用程序可以更轻松地切换功能,例如,长按一下搜索按钮......这样你就不必退回到主要切换它然后去回来。

可能是一种更简单的方式。

答案 1 :(得分:0)

试试这个方法 http://developer.android.com/reference/android/app/Activity.html#onWindowFocusChanged(boolean) 当用户离开应用程序时,boolean参数将返回false,并在返回时返回true。 我不知道当另一个应用程序切换到另一个应用程序时它是否会告诉你(例如,你是活动A,用户从B(不是你)切换到C(也不是你))但是它确实会告诉你应用程序获得什么时候/失去焦点。