Сбой службы с нулевым указателем на onCreate

Я хотел проверять фактическое время каждые 5 минут в службе и отключить или включить звук телефона в зависимости от времени. Ранее я пытался использовать while (true) с thread.sleep (300000) в конце, но он всегда зависал с ANR, поэтому я пытался использовать задачу таймера, но теперь он падает сразу после строкиAudioManager audioManager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE); с исключением NullPointerException

package de.nathan.android.droidschool;

import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.IBinder;

import java.io.File;
import java.util.GregorianCalendar;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Created by nathan on 29.08.13.
 */
public class MuteService extends Service
{
    Timer myTimer = new Timer();
    MyTimerTask myTimerTask= new MyTimerTask();
    AudioManager audioManager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);

    public void onCreate()
    {
        super.onCreate();
    }

    public int onStartCommand(Intent intent, int i1, int i2)
    {
        super.onStartCommand(intent, i1, i2);

        myTimer.scheduleAtFixedRate(myTimerTask, 0, 600000); //(timertask,delay,period)

        return START_STICKY;
    }

    public MuteService()
    {
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    private class MyTimerTask extends TimerTask {
        @Override
        public void run() {

                    GregorianCalendar cal = new GregorianCalendar();

                    String tag = null;

                    switch (cal.get(GregorianCalendar.DAY_OF_WEEK))
                        {
                            case GregorianCalendar.MONDAY:
                                tag = "Montag";
                                break;

                            case GregorianCalendar.TUESDAY:
                                tag = "Dienstag";
                                break;

                            case GregorianCalendar.WEDNESDAY:
                                tag = "Mittwoch";
                                break;

                            case GregorianCalendar.THURSDAY:
                                tag = "Donnerstag";
                                break;

                            case GregorianCalendar.FRIDAY:
                                tag = "Freitag";
                                break;
                        }

                        int i = 0;

                        while (i 

Ответы на вопрос(2)

Ваш ответ на вопрос