Я использую этот способ в своих приложениях:
Останов службы:
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;
}
Вы пробовали и видел этот ответ: http://stackoverflow.com/questions/13227697/how-to-restart-service-in-android-to-call-service-oncreate-again –