如何区分在Android中切换活动Vs切换到主屏幕

时间:2011-07-22 10:57:30

标签: android homescreen

我正在开发Android :: Media Player应用程序。为简单起见,该应用程序有3个活动:: A,B和C是活动。

当我从活动A切换到B时:调用活动A的onPause()和onStop()。但是当我从活动A进入主屏幕时,相同的功能:onPause()和onStop()被调用。

目前我遇到的问题是:如果用户进入主屏幕::室外能见度,亮度等设置必须重置为系统,另一方面,如果我在活动之间切换,我必须根据特定应用程序维护这些值。

我如何区分,我在相同应用程序(或)的活动之间切换到主屏幕。

3 个答案:

答案 0 :(得分:1)

我认为解决方案是检测用户何时按下HOME按钮。您可以通过覆盖方法

来完成此操作
    onUserLeaveHint()
活动类的

答案 1 :(得分:0)

每当活动进入屏幕时,您应该进行这些更改,并在屏幕消失时恢复设置。活动应该像单独的模块一样,因此减少它们的依赖是一件好事。

最好通过创建模板活动来完成。在onResume()onPause()方法中进行所有必要的更改,并从此方法中获取所有其他活动。这样,您的设置管理代码将在每个活动中自动调用。

对于一般应用程序状态,您无法真正检测到您的应用程序是否存在于屏幕上,因为Android中的应用程序只是一堆独立组件(活动,服务,内容提供商和广播接收器)。没有具有特定可见性状态的单个应用程序本身。只有活动才能彼此独立。

答案 2 :(得分:0)

也许您可以在使用应用时使用SharedPreferences存储应用特定设置。并始终在onStop()

中恢复