#android #android-intent #android-service
#Android #android-намерение #android-сервис
Вопрос:
У меня запущена служба переднего плана, и это служба STICKY_REDELIVER_INTENT. Проблема в том, что каждый раз, когда он запускается снова из-за поведения sticky service, уведомление будет отображаться со звуком. Это происходит много раз в день, и это определенно будет раздражать пользователя. Есть ли способ ограничить звук уведомления только при первом его отображении?
Комментарии:
1. используйте для этого общий префикс для первого вхождения.
Ответ №1:
Вы можете проверить, запущена эта служба или нет. если она не запущена, вы можете запустить службу.
Для проверки запущена служба или нет:
if (isMyServiceRunning(MainActivity.this, xyzService.class)) { // Service class name
// Service running
} else {
// Service Stop
}
public static boolean isMyServiceRunning(Activity activity, Class<?> serviceClass) {
ActivityManager manager = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceClass.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}