- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我真正想要的是什么?
在我的应用程序中,我有 4/5 的 Activity 和一个与服务器通信的后台线程。我想有一些方法来获得我的应用程序最活跃的 Activity 。但令人惊讶的是,我无法得到它们?
我做了什么?
找了一会儿,实现了Activity
类型的变量mCurrentOnTopActivity
,在onResume()
和onPause()上
我设置该变量的每个 Activity 。 (这实际上是一种糟糕的方式)。
我到了哪里?
现在他们的情况是,在从服务器接收到一些消息后,我想在 UI 线程上做一些事情,即显示一些对话框或刷新 ListView
,现在他们无法检查 code>mCurrentOnTopActivity
指的是实际运行或未运行(无论出于何种原因已完成或不在焦点)的 Activity 。
我现在想要什么?现在我基本上需要帮助解决以下两个问题:-
isActicitAlive()(虚函数)
这样的东西,它在 onResume()
的调用之间返回 true > 和 onPause()
?我在 Activity 中使用一个变量实现了 2 点,并在 onResume()
和 onPause()
中设置了它。但是,这是唯一的方法吗?
最佳答案
ArrayList<String> runningactivities = new ArrayList<String>();
ActivityManager activityManager = (ActivityManager)getBaseContext().getSystemService (Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> services = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (int i1 = 0; i1 < services.size(); i1++) {
runningactivities.add(0,services.get(i1).topActivity.toString());
}
if(runningactivities.contains("ComponentInfo{com.app/com.app.main.MyActivity}")==true){
Toast.makeText(getBaseContext(),"Activity is in foreground, active",1000).show();
}
有了这个,您可以检查您正在寻找的 Activity 是否正在运行。
esle,如果你想使用onStart()
和onStop()
方法,你可以使用下面的代码,
class MyActivity extends Activity {
static boolean active = false;
@Override
public void onStart() {
super.onStart();
active = true;
}
@Override
public void onStop() {
super.onStop();
active = false;
}
}
关于Android Activity 生命周期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13857150/
我正在开发一个使用多个 turtle 的滚动游戏。玩家 turtle 根据按键命令在 Y 轴上移动。当危害和好处在 X 轴上移动时,然后循环并改变 Y 轴位置。我尝试定义一个名为 colliding(
我不明白为什么他们不接受这个作为解决方案,他们说这是一个错误的答案:- #include int main(void) { int val=0; printf("Input:- \n
我正在使用基于表单的身份验证。 我有一个注销链接,如下所示: 以及对应的注销方法: public String logout() { FacesContext.getCurren
在 IIS7 应用程序池中有一个设置 Idle-time out 默认是 20 分钟,其中说: Amount of time(in minutes) a worker process will rem
我是一名优秀的程序员,十分优秀!