0

第一个问题:

我们如何使用

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

并且还在 getPackageManager一个扩展 Thread 的类中?我正在尝试在前台获取前台活动的包名称、开始时间和结束时间。我知道这是基于上下文的,但我需要在线程中运行它。

第二个问题: 我们如何调用一个抽象类来扩展服务中的线程?

此线程仅在屏幕打开时运行。因此,我将在服务中注册 Screen ON 和 OFF 意图。在这个服务中,当屏幕打开时,我需要调用这个线程。

例子:

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 回答