我有一项服务,希望根据当前 Activity 的 Activity 来表现不同的行为。
有什么方法可以识别设备上显示的 Activity 吗?
如果是这样并且如果我拥有当前 Activity :我的服务是否有任何方式与该 Activity 交互?我想要的是发送一个信号告诉它重绘 map 。
最佳答案
[已编辑]
请忽略我之前所说的 - 有更更简单的方法:
1. 在包中创建一个新的 Java 类 Info.java
package com.your.package.name;
import android.app.Activity;
public class Info {
static Class<? extends Activity> active = null;
}
2.将此行添加到您拥有的每个 Activity 的 onResume()
方法中:
Info.active = this.getClass();
3. 将这些行添加到您拥有的每个 Activity 的 onStop()
方法中:
if(Info.active == this.getClass())
Info.active = null;
4.现在为您服务:
if(Info.Active != null){
if (Info.active == MainActivity.class){
// code that runs when MainActivity is active HERE
} else if (Info.active == SecondActivity.class){
// code that runs when SecondActivity is active HERE
}
}
关于android - 从服务中获取有关当前显示 Activity 的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17632133/