簡體   English   中英

如何將類作為參數傳遞給靜態方法

[英]how to pass class as a parameter to a static method

我正在創建一個控件類,以了解服務是否正在運行,如以下代碼所示

public class CServiceCtrl {
private final static String TAG = ActMain.class.getSimpleName();

public static boolean isRunning(Activity act, Class servClass) {
    ActivityManager manager = (ActivityManager) act.getSystemService(act.ACTIVITY_SERVICE);
    for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
        if (servClass.class.getName().equals(service.service.getClassName())) {//highlighted with red "unknown class servClass"
            return true;
        }
    }

    return false;
    }
}

在主要活動的onCreate中,我調用以下代碼,其中ServSimulator是服務的名稱:

CServiceCtrl.isRunning(this, ServSimulator.class);

但是無法編譯該代碼,因為上述if語句中的servClass用紅色突出顯示,並且錯誤顯示“未知類servClass”。 如何解決這個錯誤

servClass已經是一個Class對象。 不要在if語句中使用servClass.class 只是servClass本身。

if (servClass.getName().equals(service.service.getClassName()))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM