0

最初の質問:

どのように使用できますか

ActivityManager activity =(ActivityManager)getSystemService(ForegroundApp.ACTIVITY_SERVICE)

また getPackageManager、スレッドを拡張するクラスでも?? フォアグラウンド アクティビティのパッケージ名、フォアグラウンドでの開始時刻と終了時刻を取得しようとしています。これはコンテキストベースであることはわかっていますが、これをスレッドで実行する必要があります。

2 番目の質問: サービス内のスレッドを拡張する抽象クラスをどのように呼び出すことができますか??

このスレッドは、画面がオンの場合にのみ実行されます。そのため、サービスで画面のオンとオフのインテントを登録します。このサービスでは、画面がオンのときに、この Thread を呼び出す必要があります。

例:

abstract class A extends Thread {

   abstract method met();

     public void run() {
      //Find out foreground's app name and its start and end time.
    }
}

  class B extends service {
    //Here i need to call A.
}
4

1 に答える 1

0

最初にアクティビティへの参照をクラス A に渡し、クラス A への参照をクラス B に渡すだけです。最も簡単な方法は、コンストラクターで渡すことです。

abstract class A extends Thread {
    protected Activity activity;

    public A(Activity activity) {
        this.activity = activity;
    }

    abstract method met();

    public void run() {
      // activity.yourmethods()
      //Find out foreground's app name and its start and end time.
    }
}
于 2013-06-01T08:15:27.520 に答える