[英]How to pass a non static method from a specific class as parameter to Function
[英]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.