繁体   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