簡體   English   中英

我該如何度過未來的時間來喚醒待處理的意圖?

[英]How can i pass the future Time to Wake up the Pending Intent?

我是android的新手,我需要通過廣播接收器設置事件通知。

現在,我正在通過硬編碼的時間來獲取通知,它正在正常工作...我該如何在將來的某個時間里花時間來獲取通知...

試過的代碼:

   EditText text = (EditText) findViewById(R.id.editText1);
       int time = Integer.parseInt(text.getText().toString());
       Intent intent = new Intent(this, MyReceiver.class);
       PendingIntent pend_intent = PendingIntent.getBroadcast(
                   this.getApplicationContext(), 0, intent, 0);
//calls the alarm
        AlarmManager alarmManager = (AlarmManager) getSystemService(
                               ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
          + (time * 10000), pend_intent);

使用Calendar.getInstance()設置AlarmManager的未來時間。 例如:

當您想要設置Aalarm時,准備一個帶有將來時間的Calendar實例:

public  Calendar cal = Calendar.getInstance();
    cal.set(Calendar.HOUR_OF_DAY, hour);
    cal.set(Calendar.MINUTE, minutes);
    cal.set(Calendar.DAY_OF_MONTH, day);
    cal.set(Calendar.MONTH, month) - 1);
    cal.set(Calendar.YEAR, year);

現在,將cal.getTimeInMillis()作為第二個參數而不是cal.getTimeInMillis()System.currentTimeMillis()+ (time * 10000) alarmManager.set

使用Calancer來獲取以毫秒為單位的時間。

例如

Calendar mCalendar = Calendar.getInstance();
mCalendar.setTimeInMillis(System.currentTimeMillis());

現在,進入警報管理器設置方法,使用像這樣的設置方法。

mAlarmManager.set(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis()
            + mTime * 10000, mPendingIntent);

希望能幫助加油-阿曼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM