Service-Run-Checker: Läuft Service oder nicht?

S

sem_thesis

Fortgeschrittenes Mitglied
0
Hallo!


Mein App besteht aus 6-7 Services, die zum Teil auch gleichzeitig laufen können. Da die App noch in Entwicklung ist, kommen App-crashes häufig vor.

Deshalb möchte ich einen Service erstellen, der periodisch überprüft ob alle Services laufen oder nicht. Wenn nicht, sollen sie erneut gestartet werden.

Der Service wird natürlich in einem anderen com-Paket erstellt werden, da er sonst auch abstürzen würde.

Ist so-was möglich?
Gibt es einen effizienteren Weg?
 
Ich habe die obige Idee mithilfe des ActivityManagers versucht umzusetzen, bekomme jedoch Fehler :S :S

com.project.xx
Enthält alle Services

com.project.servicemanager
Enthält die Service-Klasse ServiceManager.java


ServiceManager.java

Code:
....
....
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);

for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE))
{
   if(!"com.project.xx.SomeServiceName".equals(service.service.getClassName()))
         {
            g = new Intent();
            g.setAction("com.project.xx.SomeServiceName");
            getBaseContext().startService(g);
          }
}
....
....
Bekomme jetzt aber Error:

W/ActivityManager( 105): Unable to start service Intent { cmp=com.project.servicemanager/.ServiceManager }: not found
Was soll das?:confused:



EDIT: Ist das Problem vielleicht, dass ich ServiceManager in der MainActivity des Pakets com.project.xx starte?

Also für com.project.xx.MainActivity.java:

Code:
police = new Intent();
police.setComponent(new ComponentName("com.project.servicemanager","com.project.servicemanager.ServiceManager"));
getBaseContext().startService(police);
Ich habe auch den android:exported = "true" - Tag eingefügt für den ServiceManager im Android.Manifest.xml.
 
Zuletzt bearbeitet:

Ähnliche Themen

S
Antworten
8
Aufrufe
509
swa00
swa00
SaniMatthias
Antworten
19
Aufrufe
942
swa00
swa00
Zurück
Oben Unten