3

이 코드는 알람 메시지를 팝업으로 표시하려고합니다. 앱을 실행하거나 열 때 작동하지만 앱 외부에서 팝업 메시지를 표시하지 않습니다. 나는 혼란 스럽다. 내가 뭘 잘못하고 있는지 모른다.android에서 앱 외부에 경고 메시지를 보내려면 어떻게해야하나요?

String alarmtime = cur.getString(cur.getColumnIndex(DBDATA.LG_ALARMTIME)); 
//Reminder 
String[] timesplit = alarmtime.split(":"); 
int hour = Integer.parseInt(timesplit[0]); 
int minute = Integer.parseInt(timesplit[1]); 
System.out.println(hour); 
System.out.println(minute); 

AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
Intent intent = new Intent(this, ShortTimeEntryReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); 

Calendar alarm = new GregorianCalendar(); 
alarm.setTimeInMillis(System.currentTimeMillis()); 
alarm.set(Calendar.HOUR_OF_DAY, hour); 
alarm.set(Calendar.MINUTE, minute); 
alarm.set(Calendar.SECOND, 0); 
System.out.println(System.currentTimeMillis()); 
System.out.println(alarm.getTimeInMillis()); 
if (System.currentTimeMillis() > alarm.getTimeInMillis()){ 
    alarm.setTimeInMillis(alarm.getTimeInMillis()+ 24*60*60*1000);// Okay, then tomorrow ... 
    alarmMgr.set(AlarmManager.RTC_WAKEUP, alarm.getTimeInMillis(),pendingIntent); 
} 
else 
{ 
    alarmMgr.set(AlarmManager.RTC_WAKEUP, alarm.getTimeInMillis(),pendingIntent);     
} 

알람이 알람과 똑같이 앱 외부로 팝업되어야합니다. 도움 주셔서 감사합니다.

+0

서비스가 필요하다고 생각합니다. http://developer.android.com/reference/android/app/Service.html – MikkoP

답변

2

아마 BroadcastReceiver이 필요합니다. 당신은이 질문에서 읽을 수 있듯이

:

Intent alarmIntent = new Intent(this, AlarmReceiver.class); 
PendingIntent sender = PendingIntent.getBroadcast(this, "CHECK_ALARM_CODE", alarmIntent, 0); 

그리고이 같은 경보가 나타납니다 :

public class AlarmReceiver extends BroadcastReceiver{ 
     @Override 
     public void onReceive(Context context, Intent intent) { 
     Toast.makeText(context, "Alarm worked.", Toast.LENGTH_LONG).show(); 
     Log.d("OK", "AlarmReceiver.onReceive"); 
     } 
} 

를 수행하지 BroadcastReceiver not receiving an alarm's broadcast

이 같은 의도를 구축해야 매니페스트 파일에 브로드 캐스트를 등록하는 것을 잊어 버리십시오.

+0

의견을 보내 주셔서 감사합니다 .. 실제로 내 알람은 내가 앱 안에있을 때 작동합니다 ..하지만 그 앱이 다른 앱에있을 때가 아닙니다. – GoCrazy

+0

나는 이해한다. 하지만 응용 프로그램이 종료 될 때 경보가 울리기를 원하십니까? 그런 다음 활동이없고 서비스가 실행되고 있지 않습니다. 할 수있는 일은 브로드 캐스트 리시버로 알람 인 텐트를 "차단"한 다음 브로드 캐스트 리시버에서 원하는 모든 작업을 수행하는 것입니다 (예 : 다른 활동 시작 ...) –

+0

문제를 해결 했습니까, 아니면 더 자세한 설명이 필요합니까? –

관련 문제