btn.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
String n1,n2,n3;
n1=sigan.getText().toString();
n2=boon.getText().toString();
n3=cho.getText().toString();
if(n1.equalsIgnoreCase(""))
{
n1="0";
Log.d("kkkkkkkkkkk","n1"+n1);
}
if(n2.equalsIgnoreCase(""))
{
n2="0";
}
if(n3.equalsIgnoreCase(""))
{
n3="0";
}
long num1 = Integer.parseInt(n1);
long num2 = Integer.parseInt(n2);
long num3 = Integer.parseInt(n3);
long hab;
hab = ((num1*60*60*1000)+(num2*60*1000)+(num3*1000));
v.postDelayed(new Runnable() {
public void run(){
Notification noti = new Notification(R.drawable.bg,"알람입니다.",System.currentTimeMillis());
noti.vibrate = new long[]{1000,1000};
noti.defaults |= Notification.DEFAULT_SOUND ;
noti.flags |= Notification.FLAG_INSISTENT;
Intent intent = new Intent(smalarm.this, End.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent content = PendingIntent.getActivity(smalarm.this, 0, intent, 0);
noti.setLatestEventInfo(smalarm.this, "알람", "시간이 되었습니다.",content);
mNotiManager.notify(smalarm.NAPNOTI, noti);
}
}, hab );
}
});
이런데요.. 처음에는 오류도 없는줄알앗는데.... 1~3시간 알람을 맞추고 한참잇다보면..안울려서요...
1초 1분 대는...울리는데... 그리고 화면이꺼져있어서그런가 싶어서 화면도 꺼보고 어플도 종료해봐도 초,분은되는데 시가 안되는거같아요.. 무슨 문제가 잇는걸까요.?
아...그.. 슬립상태라는게.. 제가 어플을 종료하고.. 화면을 끈상태가 아니라 자동적으로 그런상태가 되는 시점이 있는건가요..?
제가 10초 알람하고... 바로 어플 종료후에 화면을껐는데 노티만 사용한건 울리긴합니다.... 답변 부탁드립니다.
올려주신 소스는 딜레이를 줘서 원하는 시간에 이벤트가 발생되게 한걸로 보이는데 그럼 어플이 종료되면 어플에 관련된거는 전부 종료되면서 메모리상에서 없어지잖아요. 지금 올린 소스는 어플 종료하면 어떠한 이벤트도 발생할수 없습니다. 그리고 제가 말한 슬립 상태라는거는 디바이스가 일정시간이 되거나 사용자가 전원버튼등을 눌러서 화면을 끄는것입니다.(한마디로 폰을 안사용하고 있으니 슬립상태로 들어간다는 뜻입니다. 어떠한 이벤트를 주기전까지는 안일어나죠 ㅋ 전원끈게 아닙니다) 그래서 어플 실행된 상태에서 저렇게 하면 몇초? 몇십초?그정도는 정상적으로 작동할것입니다. 하지만 시간이 장시간 지나면 슬립이 되니 모두 멈춰 버리죠 . 그래서 제가 알람을 이용하라고 한것입니다. 알람 서비스는 어플이 아닌 백그라운드 상에서 돌아가기 때문에 폰이 종료되기전까지는 정상적으로 이벤트가 발생하죠.




정확한것은 아니지만 화면이 꺼지면 슬림상태로 들어가면서 그런 증상이 있는걸로 판단되네요. 그리고 저런방법으로 하면 어플 종료하면 안울리는게 정상 아닌가요?
알람서비스를 이용해서 시간되면 노티 띠우는게 좋을것 같네요. 알람서비스는 어플과 상관없이 돌아가는 서비스라 어플이 종료되도 작동하며 슬립상태에 들어가도 정상적으로 작동합니다.