-1

我正在尝试创建一个扩展服务或线程的抽象类。这是因为我必须每秒运行这个类来找出前台活动。如果它的服务我正在使用 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 类,以便可以在我扩展 A 的任何类中执行这个抽象方法。

4

1 回答 1

1

实例化一个抽象类(的匿名子类):


abstract class AbstractClass {}

public class MyActivity extends Activity {
   public void onCreate(Bundle i) {
      AbstractClass abstractInstance = new AbstractClass(){};
   }
}

虽然实际上你不应该需要这样做。我建议的是一种简单的基于 JavaSE 并发的方法,使用ScheduledExecutorService

于 2013-05-31T12:01:43.510 回答