2011-10-17 15 views
9

Tôi rất vui khi biết cách kiểm tra xem mục đích đang chờ xử lý được kích hoạt bởi Trình quản lý báo thức có bắt đầu một hoạt động tại một thời điểm cụ thể do AlarmManager.setRepeating cung cấp không?Cách kiểm tra xem mục đích đang chờ được kích hoạt bởi AlarmManager setRepeating có đang chạy không?

Để cụ thể hơn, tôi có hoạt động khởi động một hoạt động khác với thời gian đặt paticular hoặc thời gian lặp lại (hoạt động). Nhưng tôi muốn biết liệu yêu cầu đã được người dùng thiết lập chưa? trong trường hợp đó tôi không nên bắt đầu các giá trị nhất định.

Đây là cách tôi bắt đầu hoạt động đã lên lịch.

Intent myIntent = new Intent(getBaseContext(),MyScheduledReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, 0); 
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), interval, pendingIntent); 
+0

có, nó là hữu ích. – NyanLH

+0

Xin cảm ơn. Vui mừng nó đã giúp. Có thể đưa ra +1 có thể giúp tôi. :) – Wesley

+0

Thực ra, bạn nên trả lời câu hỏi của riêng bạn và chấp nhận câu trả lời. Sau đó, câu hỏi này sẽ không hiển thị trong danh sách "chưa được trả lời". –

Trả lời

18

Ok, tôi nghĩ rằng tôi đã cố gắng tìm hiểu làm thế nào,

//CHECKING IF PENDING INTENT IS ALREADY RUNNING 
Intent checkIntent = new Intent(getApplicationContext(),MyScheduledReceiver.class); 
alarmUp = (PendingIntent.getBroadcast(getBaseContext(), 0, checkIntent, PendingIntent.FLAG_NO_CREATE) != null); 

Cảm ơn, hy vọng nó có thể hữu ích cho ai đó ...

+0

không làm việc cho tôi, PendingIntent.FLAG_NO_CREATE làm cho PendingIntent retuned luôn rỗng. –

+0

Tôi biết điều này là cũ, nhưng thông tin này là sai, điều này sẽ kiểm tra nếu báo động đã được thiết lập với mục đích quy định, không nếu ý định đã được thực hiện. – Gusman