2013-06-01 168 views
0

第一個問題:抽象類擴展Thread

我們如何使用

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

在繼承Thread類

而且還 getPackageManager?我正在嘗試獲取前臺活動的包名稱,其開始時間和結束時間。我知道這是基於上下文,但我需要運行這是在一個線程。

第二個問題: 我們如何調用一個抽象類來擴展服務中的線程?

此線程僅在屏幕打開時運行。所以,我將在服務中註冊Screen ON和OFF intents。在此服務中,當屏幕開啓時,我需要調用此線程。

例子:

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. 
} 

回答

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. 
    } 
} 
+0

非常感謝你,我將實現這一點,並讓üKNW .. – madhu

+0

能否請您指導我開始這個抽象的主題?不能使用通常的方式,因爲這是一個抽象的,它不能被實例化。 – madhu

+0

您需要擴展抽象線程(通過創建新類)並實現抽象方法,如met()。另外,A類是抽象的嗎? –