我发现了一些代码可以告诉您您的服务是否正在运行。但它出现编译错误,我不知道为什么。我的服务类名称是 AudioService(扩展服务的类),我在 if 语句代码行中遇到编译错误,它说,
AudioService.equals(service.service.getClassName())
并且来自编译器的错误消息是,
无法从类型 object 对非静态方法 equals(object) 进行静态引用
我正在使用绑定到服务的 Activity 内部的方法。我bindService()
在onResume
方法和unbindService()
onPause 中调用。只是想使用某种方法制作一个 Toast 消息以表明该服务正在实际运行。
我做错了什么以及如何使此代码正常工作?
private boolean isServiceRunning() {
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (AudioService.equals(service.service.getClassName())) {
return true;
}
}
return false;
}