저는 이미 이와 비슷한 것을 구현했습니다. 내 응용 프로그램에서는 BroadcastReceiver
이 알람 (Intent
)을 수신 한 다음 일부 매개 변수를 전달하는 활성화가 시작됩니다.
이것은 내 코드 조각입니다. 이 매개 변수 내가 알람을 설정하는 방법을 포함하는 클래스의 이름 ReminderManger을 writed
public class AlarmReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context c, Intent i) {
int answerType = i.getExtras().getInt("answerType");
Intent intent = new Intent(arg0, ReminderActivity.class);
intent.putExtra("id", i.getExtras().getInt("id"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(intent);
}
}
을 전달하고 수신 abuot 섹션하자. 다음과 같은 내용 :
public void setAlarm(Notification n){
Intent intent = new Intent(reminderContext, AlarmReceiver.class);
intent.putExtra("id",n.ID);
intent.putExtra("answerType",n.AnswerType);
int execTimeInt = Integer.parseInt(n.ExecutionTimespan);
long execTime = (long)execTimeInt;
execTime = execTime*1000;
PendingIntent pendingIntent = PendingIntent.getBroadcast(reminderContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
currentPendingIntent = pendingIntent;
AlarmManager alarmManager = (AlarmManager)reminderContext.getSystemService(reminderContext.ALARM_SERVICE);
currentAlarm = alarmManager;
if(execTime < System.currentTimeMillis() && System.currentTimeMillis() - execTime < NOTIFICATION_THRESHOLD)
{
alarmRunning = true;
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+EXECUTION_DELAY,pendingIntent);
}
}
정확히 어떻게해야할까요? 전체적인 아이디어가 이벤트를 유지하기 만하면 ContentProvider를 사용할 수 있습니다. – ivagarz
@ivagarz 감사합니다. ivagarz, 메서드는 AlarmManager를 통해 알람을 설정합니다. IMHO ContentProvider가 해결책이 될 것이라고 생각하지 않습니다. –
Intent를 BroadcastReceiver에 보내고 싶습니다. – goto10