2016-04-04 2 views
1

Я заинтересован в добавлении уведомлений в мое приложение в виде напоминаний.Offline push notification - функция напоминания

Я просмотрел уведомления, но мне еще предстоит найти способ сделать это без открытия приложения.

Например, я хочу добавить настройку времени, которая будет хранить время в день для отправки уведомления.

Затем, каждый день (или w \ e), в данный момент я хочу, чтобы пользователь получил уведомление, которое он может щелкнуть, чтобы войти в приложение.

Как это сделать?

ответ

1

Вам нужно написать программу, основанную AlarmManager для планирования вызовов вашего приложения, а затем отправить Локальные уведомления для пользовательского интерфейса с NotificationCompat.Builder
Посмотрите на ссылку ниже, это поможет вам начать работу легко
http://developer.android.com/training/scheduling/alarms.html

0

Еще лучше, вы можете посмотреть в GCMNetworkManager, что является еще одним отличным способом планирования задач в определенное время.

Вам не нужно, чтобы приложение запускалось для сигналов тревоги или других запланированных событий. Существует несколько различных вариантов генерации событий, связанных с временем, для инициирования уведомления.

Вот пример, вы должны установить PendingIntent начать вам уведомление:

private void setAlarm() { 
     final AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
     final Intent i = new Intent(this, MyNotifService.class); 
     final PendingIntent pi = PendingIntent.getService(this, 0, i, 0); 
     am.cancel(pi); 

     final Calendar cal = Calendar.getInstance(); 
     final String notifTime = prefs.getString("notif_time", "07:30"); 
     final String[] times = notifTime.split(":"); 
     final int hour = Integer.parseInt(times[0]); 
     final int min = Integer.parseInt(times[1]); 
     cal.set(Calendar.HOUR_OF_DAY, hour); 
     cal.set(Calendar.MINUTE, min); 

     am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 
       AlarmManager.INTERVAL_DAY, pi); 
    } 
+0

Но Theb у должны быть подключены к сети для этого –

+0

Вы не должны быть соединены Net использовать GCMNetworkManager - это, безусловно, прекрасный способ запланировать задачи. – Booger

+0

И использовать это, нужно ли мне понимать службы? он в основном запускает сервис? –