2010-09-07 28 views

Trả lời

6

Sử dụng một PendingIntent, mà Intent đã kèm tính năng bổ sung.

này được sửa đổi từ AlarmController Google APIDemo:

Intent intent = new Intent(AlarmController.this, RepeatingAlarm.class); 
intent.putExtra("some_name", some_value); 
PendingIntent sender = PendingIntent.getBroadcast(AlarmController.this,0, intent, 0); 

// We want the alarm to go off 30 seconds from now. 
long firstTime = SystemClock.elapsedRealtime(); 
firstTime += 15*1000; 

// Schedule the alarm! 
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); 
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,firstTime, 15*1000, sender); 

Sau đó lấy những người trong bạn Receiver của onReceive():

intent.getStringExtra("some_name") 
+0

ok tôi đang sử dụng quản lý báo động ... nó sẽ được sắp xếp ... nếu thiết bị đã được khởi động lại ... liệu hoạt động báo thức có thể xử lý đúng lịch biểu đó không? – Kandha

+0

Thật không may là không. Bạn sẽ cần phải thiết lập một người nghe khởi động lại, như thế này: http://www.tutorialforandroid.com/2009/07/permissions-journey-receivebootcomplete.html –

+0

Tôi có thể chuyển nhiều hơn một giá trị, thực sự tôi phải thao tác một bản ghi trong DB vào một ngày nhất định, tôi cần chuyển vào ID chính và một mục dữ liệu khác để nó được xử lý đúng cách. – Skynet

Các vấn đề liên quan