Intereting Posts
Как добавить пространство между двумя текстовыми полями Фатальное исключение: org.apache.http.impl.conn.SingleClientConnManager.finalize () истекает через 10 секунд Как добавить флаги с моим намерением в файле манифеста Ошибка создания окончательного архива: java.io.FileNotFoundException: xxx \ bin \ resources.ap_ не существует MSISDN: Это данные SIM-карты? Почему все предоставленные функции (от Blackberry и Android) для получения MSISDN не надежны? Несоответствие Jar при импорте ActionBarSherlock Андроидная библиотека со специфической зависимостью от продукта Совместное использование ViewPager между двумя вкладками Понимание использования ColorMatrix и ColorMatrixColorFilter для изменения оттенка Drawable Минимизация активности при нажатии на клавиши Установите SD-карту Vs в память телефона? И почему размер приложения отличается? Показать выпадающий список программно в ActionBar / ActionBarSherlock SwipeRefreshLayout: анимация прогресса прохождения Долгое постоянное TCP-соединение на Android * Любой * способ привязки графики Android / drawable к / assets?

Уведомление, отправленное пользователю в определенное время Android

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

/** Notify the user when they have a task */ public void notifyAtTime() { Intent myIntent = new Intent(PlanActivity.this , Notification.class); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); PendingIntent pendingIntent = PendingIntent.getService(PlanActivity.this, 0, myIntent, 0); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 12); calendar.set(Calendar.MINUTE, 17); calendar.set(Calendar.SECOND, 00); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000 , pendingIntent); } 

Код для уведомления, который находится в классе «Уведомление», приведен ниже:

  public class Notification extends Service { @Override public void onCreate() { Toast.makeText(this, "Notification", Toast.LENGTH_LONG).show(); Intent intent = new Intent(this,PlanActivity.class); PendingIntent pending = PendingIntent.getActivity(this, 0, intent, 0); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder( this).setSmallIcon(R.drawable.ic_launcher) .setContentTitle("Football") .setContentText("Don't forget that you have Football planned!") .setContentIntent(pending); NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); manager.notify(0, mBuilder.build()); } @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } } 

Тост, который установлен в классе Notification, также не появляется. Я не знаю, действительно ли это глупо, что мне не хватает, но любая помощь будет очень признательна! 🙂

Solutions Collecting From Web of "Уведомление, отправленное пользователю в определенное время Android"

Это ваш класс приемника:

  public class OnetimeAlarmReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { //Toast.makeText(context, "Repeating Alarm worked.", Toast.LENGTH_LONG).show(); // try here // prepare intent which is triggered if the // notification is selected Intent intent = new Intent(this, NotificationReceiver.class); PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0); // build notification // the addAction re-use the same intent to keep the example short Notification n = new Notification.Builder(this) .setContentTitle("New mail from " + "test@gmail.com") .setContentText("Subject") .setSmallIcon(R.drawable.icon) .setContentIntent(pIntent) .setAutoCancel(true) .addAction(R.drawable.icon, "Call", pIntent) .addAction(R.drawable.icon, "More", pIntent) .addAction(R.drawable.icon, "And more", pIntent).build(); NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notificationManager.notify(0, n); } } 

Во второй активности установите Alerm:

  private void setAlarm(){ Intent intent = new Intent(this, OnetimeAlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent, 0); AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + alarm_time , pendingIntent); System.out.println("Time Total ----- "+(System.currentTimeMillis()+total_mili)); } 

Я хотел бы рекомендовать этот учебник Как отправить уведомление

Попробуйте поместить свой код уведомления в функцию onStartCommand вместо onCreate.

Написание кода будильника в методе onCreate активности LAUNCHER приложения решило мою проблему