机器人 - 如何将告警设置成特定的日期 [英] Android - how to set an alarm to a specific date

查看:165
本文介绍了机器人 - 如何将告警设置成特定的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经看到了很多的教程和一直在努力2小时,现在,虽然事情仍然是错误的。我很紧张,现在:)我想设置一个报警,例如至16:25去了,但没有任何反应。我有这个code:

 日历cur_cal =新的GregorianCalendar();
    cur_cal.setTimeInMillis(System.currentTimeMillis的());

    日历CAL =新的GregorianCalendar();
    cal.add(Calendar.DAY_OF_YEAR,cur_cal.get(Calendar.DAY_OF_YEAR));
    cal.set(Calendar.HOUR_OF_DAY,16);
    cal.set(Calendar.MINUTE,25);
    cal.set(Calendar.SECOND,0);
    cal.set(Calendar.MILLISECOND,0);

    alarmManager.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),pendingIntent);
 

我也试过这样的:

  cal.set(Calendar.AM_PM,cur_cal.get(Calendar.AM_PM));
    cal.set(Calendar.HOUR,4);
 

我的最终目标是使重复报警,如它应该每天熄灭在设定的时间。

更新2011年1月17日。仍然没有工作。我有这个code:

 日历CAL = Calendar.getInstance();
            cal.set(Calendar.YEAR,2011);
            cal.set(Calendar.MONTH,Calendar.JANUARY);
            cal.set(Calendar.DAY_OF_MONTH,17);
            cal.set(Calendar.HOUR_OF_DAY,16);
            cal.set(Calendar.MINUTE,58);
         cal.set(Calendar.SECOND,0);
          cal.set(Calendar.MILLISECOND,0);
 

我也试过这样的:

  cal.set(Calendar.HOUR,4);
 cal.set(Calendar.AM_PM,Calendar.PM);
 

和这样的:

  cal.set(Calendar.HOUR_OF_DAY,4);
            cal.set(Calendar.AM_PM,Calendar.PM);
 

解决方案

 包your.pack.name;

进口的java.util.Calendar;

进口android.app.Activity;
进口android.app.AlarmManager;
进口android.app.PendingIntent;
进口android.content.Context;
进口android.content.Intent;
进口android.os.Bundle;

公共类AlarmActivity延伸活动{
    / **第一次创建活动时调用。 * /

    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);

        日历CAL = Calendar.getInstance();

        cal.setTimeInMillis(System.currentTimeMillis的());
        cal.clear();
        cal.set(2012,2,8,18,16);

        AlarmManager alarmMgr =(AlarmManager)getSystemService(Context.ALARM_SERVICE);
        意向意图=新的意图(这一点,AlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(此,0,意图,0);
       // cal.add(Calendar.SECOND,5);
        alarmMgr.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),pendingIntent);


    }
}
 

I have seen a lot of tutorials and been trying for 2 hours now , though something is still wrong. I am very nervous now :) I want to set an alarm e.g. to 16:25 to go off, but nothing happens. I have this code:

   Calendar cur_cal = new GregorianCalendar();
    cur_cal.setTimeInMillis(System.currentTimeMillis());

    Calendar cal = new GregorianCalendar();
    cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
    cal.set(Calendar.HOUR_OF_DAY, 16);
    cal.set(Calendar.MINUTE, 25);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MILLISECOND, 0);

    alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);

I have also tried this:

 cal.set(Calendar.AM_PM, cur_cal.get(Calendar.AM_PM));
    cal.set(Calendar.HOUR, 4);

My final goal is to make it a repeating alarm, e.g. it should go off every day at the set time.

Update 01.17.2011. Still not working. I have this code:

           Calendar cal = Calendar.getInstance();
            cal.set(Calendar.YEAR, 2011);
            cal.set(Calendar.MONTH, Calendar.JANUARY); 
            cal.set(Calendar.DAY_OF_MONTH, 17);
            cal.set(Calendar.HOUR_OF_DAY, 16);
            cal.set(Calendar.MINUTE, 58);
         cal.set(Calendar.SECOND, 0);
          cal.set(Calendar.MILLISECOND, 0);

I have also tried this:

 cal.set(Calendar.HOUR, 4);
 cal.set(Calendar.AM_PM, Calendar.PM);

and this:

cal.set(Calendar.HOUR_OF_DAY, 4 );
            cal.set(Calendar.AM_PM, Calendar.PM);

解决方案

package your.pack.name;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

public class AlarmActivity extends Activity {
    /** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Calendar cal = Calendar.getInstance();

        cal.setTimeInMillis(System.currentTimeMillis());
        cal.clear();
        cal.set(2012,2,8,18,16);

        AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
        Intent intent = new Intent(this, AlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
       // cal.add(Calendar.SECOND, 5);
        alarmMgr.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);


    }
}

这篇关于机器人 - 如何将告警设置成特定的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆