サービスまたはスレッドを拡張する抽象クラスを作成しようとしています。これは、フォアグラウンド アクティビティを見つけるために、このクラスを毎秒実行する必要があるためです。そのサービスが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 クラスを呼び出す必要があります。