2

我想在用户指定的时间开始我的 AlarmManager 活动但是时间字符串以标准格式存储(例如 7:30)我如何使用 AlarmManager 与以标准格式存储的长值进行交互- 而不是通常的毫秒?是否可以在不将其转换为毫秒的情况下做到这一点?如果是这样 - 如何?如果不是 - 什么是第二好的选择?(如果我的时间字符串是标准格式,我只需要知道唤醒警报的最简单方法。)

资源:

 String time = 7:30 
 Intent intent2 = new Intent(New.this, Start.class);
        PendingIntent pintent2 = PendingIntent.getActivity(Rules.this, 0, intent2,
                0);
        AlarmManager alarm2 = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarm2.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
                time != null ? 1000 : 0, pintent2);   

编辑:

我正在尝试使用我发现的以下方法:

public Date getTimeFromTimeString(String time)
    {
        String[] splitStrings = time.split(":");

        Date timeDate = new Date();
        timeDate.setHours(Integer.parseInt(splitStrings[0]));
        timeDate.setMinutes(Integer.parseInt(splitStrings[1]));
        return timeDate;
    }

但是我收到警告说:

The method setMinutes(int) from the type Date is deprecated
The method setSeconds(int) from the type Date is deprecated
4

2 回答 2

1

使用 aSimpleDateFormat将您解析StringCalendar. 从那里拉几毫秒。

于 2013-04-23T00:55:25.160 回答
0

此链接中有日历的源代码https://code.google.com/p/ancal/source/checkout 它包含带有约会、任务和警报的日历。我不知道它是否会帮助你。但是如果你检查代码,你可以找到你想做的事情。(您必须创建SVN才能下载此项目)

于 2013-04-24T12:13:53.413 回答