从字符串创建警报?

时间:2013-04-15 13:08:27

标签: android alarmmanager

我有一个生成随机时间的应用程序,然后将这些时间存储在单独的TextView中。我可以使用AlarmManager为这些时间设置警报吗?我在这个网站上看到了其他一些代码,它们都显示了硬编码的闹钟时间。像这样的东西,例如:

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY,17);
cal.set(Calendar.MINUTE,30);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.MILLISECOND,0);

显然我做不到,因为我的时间是随机的。所以我的应用程序将生成几次,然后在每个我添加一个按钮,显示“设置警报”。用户也可以选择自己的时间,但也在String中。

如何将String / TextView用作设置闹钟的时间?如果它有助于时间以24小时格式出现。

感谢任何帮助!

编辑:这是我现在拥有的一部分。

DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
userEnterTime = (userTime.toString(formatter));


Intent a = new Intent(this, Alarm.class);
a.putExtra("usertime", userEnterTime);  
startActivity(a);

活动'a'然后将其分配给TextView。

1 个答案:

答案 0 :(得分:1)

您可以简单地解析String并将其拆分为冒号以获取小时和分钟,然后使用Integer.parseInt()将它们转换为整数,并将它们传递给Calendar.set()方法。

String yourTime = "hh:mm"; //replace with time

String arr = yourTime.split(":");

int hours = Integer.parseInt(arr[0]);
int mins = Integer.parseInt(arr[1]);

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, hours);
cal.set(Calendar.MINUTE, mins);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.MILLISECOND,0);

您应该为try-catch添加NumberFormatException