【问题标题】:Android :Why the Activity is in onPause?Android : 为什么 Activity 处于 onPause 状态?
【发布时间】:2012-03-21 08:33:08
【问题描述】:

我必须知道我的活动是否显示。我会使用 onPause 和 onResume 方法,但我也想知道为什么活动在 onPause 中...... 有3种情况:

  1. 活动在 onPause 中,因为显示屏关闭
  2. 活动在 onPause 中,因为用户点击了主页按钮
  3. 活动在 onPause 中,因为用户点击了主页按钮并关闭屏幕

我该怎么办?谢谢

编辑:我用这段代码解决了:

ActivityManager activityManager = (ActivityManager)getContext().                .getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> runningTasks = activityManager.getRunningTasks(Integer.MAX_VALUE));

【问题讨论】:

  • 你应该仔细阅读android activity lifecycle
  • 我认为这三种情况的活动没有显示。当一个活动被带到后台或被销毁时,onPause 方法总是被调用。

标签: android android-activity onpause


【解决方案1】:

*1.* Activity 处于 onPause 状态,因为显示屏关闭并且如果出现任何呼叫:onPause() 已呼叫

*2.*活动在 onPause 因为用户点击了主页按钮:onUserLeaveHint() 在用户按下主页按钮时在onPause() 之前调用

*3.*当用户按下返回键时:onUserInteraction() 在 onPause() 之前调用

【讨论】:

  • 我正在寻找一种方法来修改我的应用程序的退出行为,具体取决于我是否因电话或其他交互而暂停。 onUserLeaveHint() 和 onUserInteraction() 比我看到的关于如何监控电话响铃的建议要好得多,后者只是间歇性地工作。
【解决方案2】:

当您从一个活动离开到另一个活动时,您离开该活动的活动 onPause 会被调用。如果你想实验创建所有的函数在 onStart 里面调用另一个活动 onPause 的第一个活动被调用。

欲了解更多信息,请通过以下链接:

http://developer.android.com/guide/topics/fundamentals/activities.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    相关资源
    最近更新 更多