2012-02-21 13 views
0

我用戶設置了一個警報,它需要發送一個設置警報的意圖,但是用戶可以有多少個警報,但是每個條目可以有14個意圖,一個用於啓動警報,一個用於一天結束時說,如果用戶想要刪除它需要發出的意圖刪除它們的意圖刪除它們,但他們需要是完全相同的,所以我該怎麼做。有不同的意圖?

Intent endAlarmIntent = new Intent(setAndroidAlarmContext, EndTimeAndroid.class); 
       PendingIntent endIntent = PendingIntent.getBroadcast(setAndroidAlarmContext, 14 , endAlarmIntent, 0); 
       setAlarm.setRepeating(AlarmManager.RTC_WAKEUP, endSun, daysBetweenAlrm , endIntent); 

在上面的意圖14是這樣我就可以找到它之後,所以當IM的結局吧,我有14個意向的,但問題是,如果有兩個目的他們兩個人能有14所以它會直接它是什麼是停止這個最好的方法,得到ramdom號碼,並將其保存到數據庫,並在刪除意圖使它相同時發送它?

+4

對於每個意圖「類型」都有一個意圖是不是更容易,然後只是傳遞一個意圖告訴它你想做什麼?例如,'StartAlarm(alarmNumber)'?您可以使用Intent對象上的'setExtras'和'getExtras'來至少設置鍵值對參數。 – ravuya 2012-02-21 15:08:13

回答

0

在我的應用程序的用戶還產生警報的未定義數量,因此爲每個報警的PendingIntent我設置系統時間到int這樣

int uniqueCode = (int)System.currentTimeMillis(); 

爲了產生稍微隨機唯一標識符(long被截斷爲int,但沒關係)。

,並將其設置爲PendingIntent唯一代碼標識,就像這樣(用你的代碼):

PendingIntent endIntent = PendingIntent.getBroadcast(setAndroidAlarmContext, uniqueCode , endAlarmIntent, 0); 

然後在我的數據庫中,我有一個字段爲alarm_id與該報警,這樣任何其他數據我可以隨時更新或取消鬧鐘。

我也會做@ravuya所說的,並使用一個Intent並通過extras傳遞參數來告訴它是什麼類型的報警。

+0

這是個好主意,非常感謝:) – bob 2012-02-21 19:27:53

相關問題