第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android設(shè)置多個警報

Android設(shè)置多個警報

小怪獸愛吃肉 2019-11-30 13:49:29
我正在嘗試實現(xiàn)一個Android應(yīng)用,該應(yīng)用需要同時發(fā)出多次警報(或發(fā)出警報)。我已經(jīng)搜索過了,但是發(fā)現(xiàn)的最接近的是設(shè)置了固定數(shù)量的警報,并且我猜這個例子沒有用。我想知道是否存在一種方法來動態(tài)設(shè)置多個警報,例如警報數(shù)組,然后在其特定時間戳中觸發(fā)這些警報。
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經(jīng)驗 獲得超8個贊

如果要設(shè)置多個警報(重復(fù)警報或單個警報),則只需創(chuàng)建PendingIntent帶有不同的警報requestCode。如果requestCode相同,則新警報將覆蓋舊警報。


這是創(chuàng)建多個單個警報并將其保留的代碼ArrayList。我將保留PendingIntent在數(shù)組中,因為這是取消警報所需的。


// context variable contains your `Context`

AlarmManager mgrAlarm = (AlarmManager) context.getSystemService(ALARM_SERVICE);

ArrayList<PendingIntent> intentArray = new ArrayList<PendingIntent>();


for(i = 0; i < 10; ++i)

{

   Intent intent = new Intent(context, OnAlarmReceiver.class);

   // Loop counter `i` is used as a `requestCode`

   PendingIntent pendingIntent = PendingIntent.getBroadcast(context, i, intent, 0);

   // Single alarms in 1, 2, ..., 10 minutes (in `i` minutes)

   mgrAlarm.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 

                SystemClock.elapsedRealtime() + 60000 * i, 

                pendingIntent); 


   intentArray.add(pendingIntent);

}


查看完整回答
反對 回復(fù) 2019-11-30
?
largeQ

TA貢獻2039條經(jīng)驗 獲得超8個贊

您可以設(shè)置警報的重復(fù)次數(shù):


在這種情況下:


public void AddAlarm(int requestCode,MutableDateTime dueDate,int repeat) {

        Intent intent = new Intent(context, AlarmReceiver.class);

        intent.putExtra(Constants.RECORD_ID, requestCode);

        intent.putExtra("REPEAT", repeat);

        PendingIntent operation = PendingIntent.getBroadcast(context, requestCode, intent,  PendingIntent.FLAG_ONE_SHOT );

        MutableDateTime due = dueDate.toMutableDateTime();

        switch(repeat){

        case NO_REPEAT:

            due.addMinutes(0);

            break;

        case DAILY:


            due.addDays(1); 

            break;

        case WEEKLY:

            due.addWeeks(1);

            break;

        case MONTHLY:

            due.addMonths(1);

            break;

        case MONTHLY_2:

            due.addWeeks(5);            

            break;

        case YEARLY:

            due.addYears(1);

            break;

        }

        due.add(-(dueDate.getMillis()));

        due.setSecondOfMinute(0);

        dueDate.setSecondOfMinute(0);

        alarm.cancel(operation);

        alarm.set(AlarmManager.RTC_WAKEUP, dueDate.getMillis(), operation);

        alarm.setRepeating(AlarmManager.RTC_WAKEUP, dueDate.getMillis(), due.getMillis(), operation);

}


查看完整回答
反對 回復(fù) 2019-11-30
  • 3 回答
  • 0 關(guān)注
  • 495 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號