Syntaxfehler bei Token "}", löschen Sie dieses Token

Ich bekomme immer wieder die Fehlermeldung "Syntaxfehler auf Token"} ", lösche dieses Token." in der letzten Zeile, warum? Ich habe nach dem Fehler gesucht, kann ihn aber nicht finden. Wie Sie sehen, handelt es sich um einen Dienst, bei dem hin und wieder ein anderer Dienst in Anspruch genommen wird.

package com.iggeman.updater;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class UpdaterService extends Service {

private static final String TAG = UpdaterService.class
        .getSimpleName();
private Updater updater;
public boolean isRunning = false;

@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();

    updater = new Updater();

    Log.d(TAG, "onCreate");
}

@Override
public void onStart(Intent intent, int startId) {
    // TODO Auto-generated method stub
    super.onStart(intent, startId);

    if (this.isRunning == false) {
        updater.start();
        this.isRunning = true;
    }

    Log.d(TAG, "onStart");
}

@Override
public synchronized void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();

    if (this.isRunning) {
        updater.interrupt();
    }

    updater = null;

    Log.d(TAG, "onDestroy");
}

class Updater extends Thread {
    static final long DELAY = 10000;
    private boolean isRunning = false;

    public Updater() {
        super("Updater");
    }

    @Override
    public void run() {
        // TODO Auto-generated method stub
        super.run();
        isRunning = true;
        while (isRunning) {
            try {
                // Do something

                startService(new Intent(getBaseContext(), StartServiceTwo.class));

                Log.d(TAG, "Updater running");

                Thread.sleep(DELAY);
            } catch (InterruptedException e) {
                // interrupted
                isRunning = false;
            }
        } // while
    }

    public boolean isRunning() {
        return this.isRunning();
    }
}
}

Ich habe alle Klammern durchlaufen und kann niemanden finden, der nicht dort ist, wo er sein soll.

Bearbeiten:

Immer noch der Fehler:

package com.iggeman.updater;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class UpdaterService extends Service {

private static final String TAG = UpdaterService.class
        .getSimpleName();
private Updater updater;
public boolean isRunning = false;

@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();

    updater = new Updater();

    Log.d(TAG, "onCreate");
}

@Override
public void onStart(Intent intent, int startId) {
    // TODO Auto-generated method stub
    super.onStart(intent, startId);

    if (this.isRunning == false) {
        updater.start();
        this.isRunning = true;
    }

    Log.d(TAG, "onStart");
}

@Override
public synchronized void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();

    if (this.isRunning) {
        updater.interrupt();
    }

    updater = null;

    Log.d(TAG, "onDestroy");
}

class Updater extends Thread {
    static final long DELAY = 10000;
    private boolean isRunning = false;

    public Updater() {
        super("Updater");
    }

    @Override
    public void run() {
        // TODO Auto-generated method stub
        super.run();
        isRunning = true;
        while (isRunning) {
            try {
                // Do something

                startService(new Intent(getBaseContext(), StartServiceTwo.class));

                Log.d(TAG, "Updater running");

                Thread.sleep(DELAY);
            } catch (InterruptedException e) {
                // interrupted
                isRunning = false;
            }
        } // while
    } //Run     
} //Class updater

public boolean isRunning() {
        return this.isRunning();
   }
}  //Main body

Antworten auf die Frage(3)

Ihre Antwort auf die Frage