2014-02-27 105 views
0

可以在2個不同的時間間隔像第一區間上單個報警經理觸發應該是1分,秒的時間間隔應該是這樣的2分鐘報警經理在不同的時間間隔觸發

我用下面的代碼,但它試圖不工作,因爲我已經預料:(

{ 
    AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 

    Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class); 
    intent.putExtra(ONE_TIME, Boolean.FALSE); 
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0); 
    am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 60 *x, pi); 
} 

//Initialized x=1; 
//In onReceive what i did was... 
public void onReceive(Context context, Intent intent) { 
    if(x===1) 
     x=2; 
    else 
     x=1; 
} 

這是錯的?

+0

我不認爲這可以用簡單的方法完成。 –

+0

你想做什麼?報警管理器始終是單一的 - 它只是根據您的未決意圖添加新的報警。 – nikis

+0

我試圖讓wifi自動切換,1分鐘它應該是ON&下2分鐘它應該是關閉! 所以你是sayng它不會收到x值? @nikis – someone

回答

0

從谷歌開發者文檔

一BroadcastReceiver對象僅在調用toonReceive(Context,Intent)期間有效。一旦你的代碼從這個函數返回,系統就認爲該對象已經完成並且不再處於活動狀態。

所以你的x將永遠是1.使x變量爲靜態。

+0

感謝信息夥伴 嘗試過使用靜態方法,但它並不是wrk :(@arul – someone

+0

嘗試在除了廣播接收器類之外的其他類中初始化x – arul

相關問題