我正在尝试创建一个扩展服务或线程的抽象类。这是因为我必须每秒运行这个类以找出前台活动。如果它的服务我正在使用Runnable并使用Handler使其每秒运行一次。但我无法从主要活动启动服务或线程。我知道抽象类不能被实例化,但是有什么工作可以在这里使用吗?请帮忙。
public abstract class A extends Service Implements Interface {
public void onCreate() {
super.onCreate();
mHandler.postDelayed(runnable, 1 * 1000);
}
protected abstract void getData();
public Runnable runnable = new Runnable() {
public void run() {
//Trying to find Foreground Activities
A start = new B();
start.getData();
mHandler.postDelayed(runnable, 1 * 1000);
}
};
//Inteface methods defined here.
}
另一堂课:
public class B extends A {
public void getData() {
//Do my stuff
}
}
现在我需要调用这个A类,这样就可以执行这个抽象方法,其中I类扩展了A。
答案 0 :(得分:1)
实例化一个抽象类(的匿名子类):
abstract class AbstractClass {}
public class MyActivity extends Activity {
public void onCreate(Bundle i) {
AbstractClass abstractInstance = new AbstractClass(){};
}
}
虽然实际上你不应该这样做。我建议的是一种简单的基于JavaSE并发的方法,使用ScheduledExecutorService。