Ich habe einen Dienst mit einem Handler, der alle 5 Sekunden “Hello” in den Logcat schreiben muss. Aber es schreibt nichts in den Logcat … Es ist, als würde der Dienst nicht ausgeführt, und ich setze einen Haltepunkt darauf und der Debug-Modus stoppt nie am Haltepunkt.
Ich starte den Dienst in der ersten Aktivität meiner App wie folgt:
startService(new Intent(GPSLoc.this, MyServiceNotifications.class)); //enciendo el service
Ich bin sicher, dass der Code startService
wird ausgeführt, da sie vor dem Start einer anderen Aktivität aufgerufen wird und die andere Aktivität startet.
Dies ist der Code meines Dienstes:
public class MyServiceNotifications extends Service {
boolean serviceStopped;
private Handler mHandler;
private Runnable updateRunnable = new Runnable() {
@Override
public void run() {
if (serviceStopped == false)
{
createNotificationIcon();
}
queueRunnable();
}
};
private void queueRunnable() {
// 600000 : cada 10 minutos, comprueba si hay nuevas notificaciones y actualiza la
// notification BAR
mHandler.postDelayed(updateRunnable, 5000);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
serviceStopped = false;
// //////////////////////////////////////MANEJADOR SIMILAR A UN HILO
mHandler = new Handler();
queueRunnable();
// ///////////////////////////////////// FIN MANEJADOR
}
@Override
public void onDestroy() {
serviceStopped = true;
}
@Override
public void onStart(Intent intent, int startid) {
}
public void createNotificationIcon()
{
Log.d("MyServiceNotifications", "Hello");
}
}
hast du den Dienst in der Manifest-Datei deklariert?
– Franco
21. Januar 2011 um 14:07 Uhr
Fügen Sie ein Logcat in onCreate() ein, wird das verwendet? Wann rufen Sie außerdem run() auf updateRunnable auf? Ich kann mir nicht vorstellen, dass das hingerichtet wird
– Jimmy
21. Januar 2011 um 14:08 Uhr
ohh wahr, ich verzeihe, dass ich das maNIFEST reingesteckt habe!! Danke
– NullPointerException
21. Januar 2011 um 14:14 Uhr
Eine weitere Sache, die Sie überprüfen sollten, ist, ob Ihr Dienst NICHT bereits läuft. In diesem Fall müssen Sie den Dienst beenden und neu starten.
– Nikola Kosmajac
4. Dezember 2019 um 9:31 Uhr