package com.INeedUmbrella;

import java.util.ArrayList;
import java.util.Calendar;

import android.app.AlarmManager;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.*;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.media.AudioManager;
import android.os.IBinder;
import android.util.Log;

public class SetTime extends Service {

ArrayList<Milisec> sMilisec;
ArrayList<Milisec> lsMilisec;
Calendar sCalendar;
ArrayList<TimeItem> arItem;
AlarmManager mAlarm;

@Override
public void onCreate() {

// TODO Auto-generated method stub
super.onCreate();
nu_DBHelper mDBHelper = new nu_DBHelper(this);
Cursor cursor;
SQLiteDatabase db = mDBHelper.getReadableDatabase();
cursor = db.rawQuery("SELECT * FROM alarm", null);

arItem = new ArrayList<TimeItem>();

while (cursor.moveToNext()) {
// TimeItem(int sHour, int sMin, String week, int sun, int mon, int
// tue, int wed, int thu, int fri, int sat)
TimeItem mItem = new TimeItem(cursor.getInt(1), cursor.getInt(2),
cursor.getString(5), cursor.getInt(6), cursor.getInt(7),
cursor.getInt(8), cursor.getInt(9), cursor.getInt(10),
cursor.getInt(11), cursor.getInt(12));
arItem.add(mItem);

}
db.close();

for (int i = 0; i < arItem.size(); i++) {
// sCalendar = 시작 시간 값 셋팅 DB값 기준으로.

Calendar nowCalendar = Calendar.getInstance();
nowCalendar.setTimeInMillis(System.currentTimeMillis());

sCalendar = Calendar.getInstance();
sCalendar.set(Calendar.HOUR_OF_DAY, arItem.get(i).Hour);
sCalendar.set(Calendar.MINUTE, arItem.get(i).Min);
sCalendar.set(Calendar.SECOND, 0);

if (sCalendar.get(Calendar.DAY_OF_WEEK) == arItem.get(i).mWeekIndex) { // 오늘
// 요일과
// db요일이
// 같다면
// 현재 시간 보다 큰 값을 기준으로 비교
if (sCalendar.getTimeInMillis() == System.currentTimeMillis()) { // 현재
// 시간과
// db시간이
// 같다면
showNoti();
}
}
}
}

public void showNoti() { // 시간과 요일이 맞다면 실행되는 통지기능
//
NotificationManager mManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// 노티피케이션 객체 생성
Notification n = new Notification();
// 아이콘 설정
n.icon = R.drawable.icon;
// 발생 즉시 잠시 보여질 내용
n.tickerText = "날씨";
// 발생할 시간
n.when = System.currentTimeMillis(); // 현재 시간
// 발생 수량 설정
n.number = 0;
// 디폴트로 진동 모드 설정 (진동을 사용할 경우 매니페스트에 진동 사용 권한을 등록해줘야 한다)
n.defaults = Notification.DEFAULT_VIBRATE;
n.vibrate = new long[] { 1000, 1000, 1000, 1000, 1000 };
// 알람 해제 방법을 설정 (확장 상태바에서 선택시 사라짐)
n.flags = Notification.FLAG_AUTO_CANCEL;
// 확장된 상태바에 나타낼 제목과 내용

final String contentTitle = "날씨";
final String contentText = "오늘의 날씨";

// 확장된 상태바를 눌렀을때 이동할 액티비티 설정
Intent i = new Intent(getApplicationContext(), Noti.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, i, 0);
// 확장된 상태 표시줄 표시 설정
n.setLatestEventInfo(getApplicationContext(), contentTitle,
contentText, pi);
// Notification 발생
mManager.notify(0, n);
}

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

}

이렇게 했는데 동작을 안해요... 이유가 멀까요;;; 오류는 하나도 안뜨고.. 알람 설정하고 기다려도... 아무런 머가 없습니다..