Witam! Próbuję dodać do mojej aplikacji - Lista zadań(ToDo) generowanie powiadomień, np jeśli użytkownik ma coś zrobić za tydzień o 20:00 i chce aby aplikacja przypomniała o tym o 18:00, muszę wyświelić powiadomienie z nazwą, godziną i najlepiej dźwiękiem(podobnie jak przy budziku). Niestety nie do końca rozumiem jak to zrobić. Mam taki kod jak poniżej, ale niestety żadne powiadomienia mi się nie wyświetlają.

MainActivity.java

 AlarmManager alarmManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    Intent myIntent = new Intent(MainActivity.this, MyAlarmService.class);
    pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent,0);

    alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);


    lvItems = (ListView) findViewById(R.id.listView);
    lvItems.invalidateViews();
   // itemsAdapter.notifyDataSetChanged();




    readItems();
    checkTime();
           ............................ }


 public void checkTime(){



    final Calendar c = Calendar.getInstance();
    Calendar StartTime = Calendar.getInstance();
    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH)+1;
    mDay = c.get(Calendar.DAY_OF_MONTH);
    String data;

    data = mDay + " " + mMonth + " " + mYear;



    simpleDateFormat = new SimpleDateFormat("HH:mm");
    String nazwa,path,prior;
    mTime = simpleDateFormat.format(c.getTime());
    String[] time = mTime.split(":");
    String[] date;

    for (int i = 0; i<events.size(); i++) {

        Zdarzenie zt = events.get(i);


        boolean stat = zt.isAktywny();
        if (zt.getGodzina_przypomnienia()!=null && zt.getData_przypomnienia() !=null && data.equals(zt.getData_przypomnienia()) && mTime.equals(zt.getGodzina_przypomnienia()) && stat) {


            Toast t2 =  Toast.makeText(MainActivity.this, "You selected : " + data , Toast.LENGTH_LONG);
            t2.show();

            nazwa = zt.getNazwa();
            path = zt.getPath();
            prior = zt.getPriorytet();

            date = zt.getData_przypomnienia().split("//.");

            rok = Integer.parseInt(date[2]);
            mc = Integer.parseInt(date[1]);
            dzien = Integer.parseInt(date[0]);

            godz = Integer.parseInt(time[0]);
            min = Integer.parseInt(time[1]);
            sec = 0;

            StartTime.set(rok, mc, dzien, godz, min, sec);


         /*   if (prior.equals("Ważny") && stat==true) {
                showNotification_w(nazwa, path);
            }
            if(prior.equals("Normalny") && stat ==true) {
                showNotification_n(nazwa, path);
            }*/


            alarmManager.set(AlarmManager.RTC, StartTime.getTimeInMillis(), pendingIntent);


        }

    }
    }

MyAlarmService.java

 package com.example.administrator.myapplication;

import android.app.Service;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.IBinder;
import android.support.v7.app.NotificationCompat;

/**
 * Created by Administrator on 2016-02-03.
 */
public class MyAlarmService extends Service {

    private NotificationManager mManager;
    String priority;
    String nazwa;
    String path;
    Bitmap bm;

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

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

    @SuppressWarnings("static-access")
    @Override
    public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);

      // MainActivity.checkTime();


        for (int i = 0; i<MainActivity.events.size(); i++) {

            Zdarzenie zt = MainActivity.events.get(i);

            priority = zt.getPriorytet();
            path = zt.getPath();
            nazwa = zt.getNazwa();


        }
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(path, options);
        final int REQUIRED_SIZE = 200;
        int scale = 1;
        // Bitmap bm;
        while (options.outWidth / scale / 2 >= REQUIRED_SIZE
                && options.outHeight / scale / 2 >= REQUIRED_SIZE) {
            scale *= 2;
            options.inSampleSize = scale;
            options.inJustDecodeBounds = false;
            bm = BitmapFactory.decodeFile(path, options);
        }


        Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

        mManager = (NotificationManager) this.getApplicationContext().getSystemService(this.getApplicationContext().NOTIFICATION_SERVICE);
        Intent intent1 = new Intent(this.getApplicationContext(), MainActivity.class);

        //  Notification notification = new Notification(R.drawable.ic_launcher,"This is a test message!", System.currentTimeMillis());
        intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        PendingIntent pendingNotificationIntent = PendingIntent.getActivity(this.getApplicationContext(), 0, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
        if (priority.equals("Ważny")) {
          //  PendingIntent pendingNotificationIntent1 = PendingIntent.getActivity(this.getApplicationContext(), 0, intent1, 0);
            Notification notification = new NotificationCompat.Builder(this)

                   .setContentTitle("Przypomnienie!")
                    .setContentText(nazwa)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setLargeIcon(bm)
                   .setContentIntent(pendingNotificationIntent)
                    .setSound(soundUri)
                   .setAutoCancel(false)
                    .setPriority(Notification.PRIORITY_MAX)
                    .setColor(getResources().getColor(R.color.colorPrimary))

                    .build();
                   // .setLatestEventInfo(this.getApplicationContext(), "Przypomnienie!", nazwa, pendingNotificationIntent)
                   // .addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
            System.currentTimeMillis();


            notification.flags |= Notification.FLAG_AUTO_CANCEL;


            mManager.notify(0, notification);
        }
        if (priority.equals("Normalny")) {


            Notification notification2 = new NotificationCompat.Builder(this)

                   .setContentTitle("Przypomnienie!")
                    .setContentText(nazwa)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setLargeIcon(bm)
                    .setContentIntent(pendingNotificationIntent)
                    .setSound(soundUri)
                    .setAutoCancel(false)
                    .setColor(getResources().getColor(R.color.colorPrimary))

                    //.setLatestEventInfo(this.getApplicationContext(), "AlarmManagerDemo", "This is a test message!", pendingNotificationIntent)
                   // .addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);

            .build();



            notification2.flags |= Notification.FLAG_AUTO_CANCEL;
            System.currentTimeMillis();

            mManager.notify(0, notification2);
        }
    }
    @Override
    public void onDestroy()
    {
        // TODO Auto-generated method stub
        super.onDestroy();
    }

}

MyReciever.java

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyReceiver extends BroadcastReceiver {




        @Override
        public void onReceive(Context context, Intent intent)
        {
            Intent service1 = new Intent(context, MainActivity.class);
            context.startService(service1);

        }
    }