Intereting Posts
Заполнение шаблона вместо цвета с использованием заливки заливки algroithim android Как я могу скрыть свой API-ключ, чтобы кто-нибудь разложил мое приложение, не увидел бы его? Как получить текущее смещение Y ScrollView Не удалось создать PlusClient Как закрыть деятельность без фактической отделки? ProgressBar Circle не показывает прогресс в android L (API 21) Как удалить прописку из заголовка на панели инструментов? Не удалось создать эмулятор Android: не удалось проанализировать конфигурационный файл AVD Xamarin.Android сборки / развертывания очень медленно. Как ускорить их? Различать MMS и SMS через прослушиватели MMS / SMS в Android FATAL EXCEPTION: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R $ layout Android studio Ошибка «Неподдерживаемые модули обнаружены: компиляция не поддерживается для следующих модулей» Параметр намерения Android FLAG_ACTIVITY_SINGLE_TASK отсутствует? Где «инструмент стека» для Android-разработчика? (Чтобы помочь отладить собственный код на C ++) Android – кроссфейды с несколькими изображениями в ImageView

Аварийная сигнализация AlarmManager немедленно срабатывает

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

 public class SetMealTimersActivity extends Activity { PendingIntent pi; BroadcastReceiver br; AlarmManager am; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_set_meal_timers); br = new BroadcastReceiver() { @Override public void onReceive(Context c, Intent i) { Toast.makeText(c, "Ready to Go!", Toast.LENGTH_LONG).show(); } }; registerReceiver(br, new IntentFilter("com.ian.mealtimer")); pi = PendingIntent.getBroadcast(this, 0, new Intent( "com.ian.mealtimer"), 0); am = (AlarmManager) (this.getSystemService(Context.ALARM_SERVICE)); am.set( AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 60 * 1000, pi ); } 

пытаться :

  am.set(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis()+60*1000, pendingIntent); 

Он работает для меня.

Попробуйте изменить SystemClock.elapsedRealtime() на System.currentTimeMillis() и AlarmManager.ELAPSED_REALTIME_WAKEUP на AlarmManager.RTC_WAKEUP .

Попробуйте использовать AlarmManager.setExact(int, long, PendingIntent) если вы используете Android API> 18 или скомпилируете с API <19, потому что управление временем для этих методов изменилось с помощью API 19. Возможно, это помогает. Прочтите документацию для получения дополнительной информации.

Сделать id для pendingIntent

 pendingIntent = PendingIntent.getActivity(this, 999123266, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

Все примеры

 public void setAlarm_sat(int dayOfWeek1) { cal1.set(Calendar.DAY_OF_WEEK, dayOfWeek); Intent intent = new Intent(this, RemmemberActivity.class); pendingIntent = PendingIntent.getActivity(this, 999123266, intent, PendingIntent.FLAG_UPDATE_CURRENT); Long alarmTime = cal1.getTimeInMillis(); AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE); am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime,7*24 * 60 * 60 * 1000, pendingIntent); // am.set(AlarmManager.RTC, cal1.getTimeInMillis(), pendingIntent); }