运行在安卓中的java触发进程
我写了一个方法。如果我提供的包正在进程中运行,我想打印Hi to Toast消息。然而,即使我提供的包正在处理中,它也不会写Hi消息。我哪里出错了?或者我错过了什么?你的建议对我很重要
主要活动。爪哇
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkServiceRunning(MyService.class);
}
public boolean checkServiceRunning(Class<MyService> myServiceClass){
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE))
{
if ("com.example.processlistener"
.equals(service.service.getClassName()))
{
Toast.makeText(this, "Hi!", Toast.LENGTH_SHORT).show();
return true;
}
}
return false;
}
}
我的服务。爪哇
public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
}
# 1 楼答案
这里有多个问题:
1)您从未启动该服务,因此它当然没有运行
2)您正在将类名与包名进行比较。那是行不通的。您的服务名为MyService,而不是processlistener