Хм, я пытаюсь задать вопрос по-другому:)
Я написал код для уведомления об активации в определенную дату / время (класс Date) как локальный (локальная переменная). При активации уведомления я создаю новое уведомление с новой датой / временем.
Код:
private void createNotification(final String contentTitle, final String contentText,
final String tickerText) {
calculateVakat();
setFirstMillis(getNextVakat());
createStatusBarNotification(contentTitle, contentText, tickerText);
Notification note = new Notification(android.R.drawable.btn_star_big_on, tickerText, System.currentTimeMillis());
PendingIntent intent = PendingIntent.getActivity(this, 0, new Intent(this, VaktijaActivity.class), 0);
note.setLatestEventInfo(this, contentTitle, contentText, intent);
note.vibrate = new long[] {500L, 200L, 200L, 500L};
note.defaults |= Notification.DEFAULT_SOUND;
note.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(NOTIF_ID, note);
}
private void createStatusBarNotification(final String contentTitle,
final String contentText, final String tickerText) {
Date date = new Date(getFirstMillis());
Log.i("date", date.toString());
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
createNotification(contentTitle, contentText, tickerText);
}
};
timer.schedule(timerTask, date);
}
В этом случае уведомление активируется каждый раз, когда я устанавливаю приложение с моего компьютера (eclipe), но если я запускаю приложение с мобильного телефона, уведомление «следующее» не будет активным. Может быть, мое приложение не является сервисом, но я не хочу сервис, я хочу приложение с таймером в фоновом режиме.
Если я должен сделать обслуживание, как я могу это сделать?
BR, Колесар