我正在开发Android :: Media Player应用程序。为简单起见,该应用程序有3个活动:: A,B和C是活动。
当我从活动A切换到B时:调用活动A的onPause()和onStop()。但是当我从活动A进入主屏幕时,相同的功能:onPause()和onStop()被调用。
目前我遇到的问题是:如果用户进入主屏幕::室外能见度,亮度等设置必须重置为系统,另一方面,如果我在活动之间切换,我必须根据特定应用程序维护这些值。
我如何区分,我在相同应用程序(或)的活动之间切换到主屏幕。
答案 0 :(得分:1)
我认为解决方案是检测用户何时按下HOME按钮。您可以通过覆盖方法
来完成此操作 onUserLeaveHint()
活动类的。
答案 1 :(得分:0)
每当活动进入屏幕时,您应该进行这些更改,并在屏幕消失时恢复设置。活动应该像单独的模块一样,因此减少它们的依赖是一件好事。
最好通过创建模板活动来完成。在onResume()
和onPause()
方法中进行所有必要的更改,并从此方法中获取所有其他活动。这样,您的设置管理代码将在每个活动中自动调用。
对于一般应用程序状态,您无法真正检测到您的应用程序是否存在于屏幕上,因为Android中的应用程序只是一堆独立组件(活动,服务,内容提供商和广播接收器)。没有具有特定可见性状态的单个应用程序本身。只有活动才能彼此独立。
答案 2 :(得分:0)
也许您可以在使用应用时使用SharedPreferences存储应用特定设置。并始终在onStop()
中恢复