我想完全停止我的服务,然后以编程方式再次运行它。但是当它调用OnDestroy()或stopSelf()方法时,它无法再次启动。 我怎样才能重启我的服务,有什么建议吗?
答案 0 :(得分:0)
我在我的应用中使用这种方式:
停止服务:
mContext.stopService(new Intent(mContext, LocationProviderService.class));
开始服务:
if(!HelperUtils.isMyServiceRunning(LocationProviderService.class, getApplicationContext()))
{
startService(new Intent(this, LocationProviderService.class));
}
isMyServiceRunning方法:
public static boolean isMyServiceRunning(Class<?> serviceClass,Context mContext) {
ActivityManager manager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceClass.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}