2012-09-18 23 views
9

Tôi đang thiếu thứ gì đó ở đây và tôi hy vọng ai đó có thể giúp tôi. Tôi đang thiết lập một báo động bằng cách sử dụng sau đây:Gửi dữ liệu đến bộ thu phát báo động của người quản lý báo động

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 

    Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, broadcast_intent, 0); 

    broadcast_intent.putExtra("test", "ValueReceived"); //data to pass 
    Date date = someVariable.getDateTime(); 


    long triggerAtTime = date.getTime(); 

    alarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtTime, pendingIntent); 

và thu phát sóng bằng cách sử dụng sau đây:

public class AlarmBroadcastReceiver extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     Toast.makeText(context, "Alarm has been received "+intent.getStringExtra("test"), Toast.LENGTH_LONG).show(); 

    } 

} 

Tuy nhiên ý định của apperently "trống rỗng". Tôi thấy giá trị null cho getStringExtra. Vì vậy, dữ liệu không được truyền tới bộ thu phát sóng. Tôi đang làm gì sai? Làm thế nào tôi có thể vượt qua dữ liệu.

Cảm ơn bạn rất nhiều

+0

thấy bài đăng này http://stackoverflow.com/questions/ 2844274/multiple-calls-to-alarmmanager-setrepeating-deliver-the-same-intent-pendinginten –

+0

xem câu trả lời từ @Tôi nghĩ rằng đó là một trong những bạn cần – lemoncodes

Trả lời

17

Bạn cần phải thêm các tính năng bổ sung để tiếp cận mục đích trước bạn vượt qua nó vào PendingIntent:

Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class); 
broadcast_intent.putExtra("test", "ValueReceived"); //data to pass 

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, broadcast_intent, 0); 
+1

tôi nghĩ rằng điều này có thể giúp bạn, chỉ định đầu tiên thêm trước khi bạn psas nó với mục đích đang chờ giải quyết – lemoncodes

+0

Tuyệt vời nó hoạt động wowww, tôi đã làm không biết vấn đề trật tự như đối tượng của nó. Tôi cảm ơn bạn – Snake

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