Tôi đã tìm kiếm rất nhiều địa điểm nhưng không thể tìm thấy giải thích tuần tự rõ ràng về cách bắt đầu dịch vụ (hoặc nếu không thể thực hiện hoạt động) tại một thời điểm cụ thể hàng ngày bằng AlarmManager ??Sử dụng Alarmmanager để bắt đầu dịch vụ tại thời điểm cụ thể
Tôi muốn đăng ký một số báo thức như vậy và kích hoạt chúng sẽ dẫn đến một dịch vụ được bắt đầu. Tôi sẽ có một đoạn mã nhỏ trong dịch vụ mà sau đó có thể thực hiện và tôi có thể hoàn thành dịch vụ cho tốt ....
Calendar cal = Calendar.getInstance();
Calendar cur_cal = Calendar.getInstance();
cur_cal.setTimeInMillis(System.currentTimeMillis());
Date date = new Date(cur_cal.get(Calendar.YEAR), cur_cal.get(Calendar.MONTH), cur_cal.get(Calendar.DATE), 16, 45);
cal.setTime(date);
Intent intent = new Intent(ProfileList.this, ActivateOnTime.class);
intent.putExtra("profile_id", 2);
PendingIntent pintent = PendingIntent.getService(ProfileList.this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pintent);
System.out.println("The alarm set!!");
tôi đã cố gắng mã này để kích hoạt báo động tại 4,45 ... nhưng nó không bắn dịch vụ ... tôi có phải giữ cho quá trình chạy không ?? Tôi có làm gì sai không ???
hơn Một điều, dịch vụ của tôi được hoàn toàn thực hiện trong trường hợp tôi sử dụng đoạn mã sau:
long firstTime = SystemClock.elapsedRealtime();
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 30*1000,pintent);
có thể trùng lặp của [Cách đặt báo thức để kích hoạt đúng vào thời gian cố định?] (Http://stackoverflow.com/questions/2992882/how-to-set-an-alarm-to-fire- đúng-tại-cố định-thời gian) – Pentium10
tôi đã kiểm tra câu hỏi ur "Pentium10" và tôi spose tương tự của nó, nhưng bạn đã tìm thấy giải pháp cho cùng? – JaVadid