我希望我的应用程序可以从EditText小部件获得用户输入的时间(HH:mm)。 根据此时间值,我的应用程序需要在当前时间与输入时间匹配时显示对话框。
Gaauwe
*的 修改 *
我想在我的应用中放置一个EditText小部件。 用户将用一些时间值(例如10:30)填充它。 然后当实时(10:30)出现时,将显示一个对话框。
答案 0 :(得分:3)
我认为您可以使用AlarmManager。
我建议您查看一些这样的教程来帮助您入门
http://michael.theirwinfamily.net/articles/android/android-creating-alarm-alarmmanager
答案 1 :(得分:1)
试试这个:
使用服务:当用户输入时间时,系统时间和用户输入的时间与节目匹配时启动服务..
答案 2 :(得分:1)
这并不太难。当用户完成编辑EditText时,读取时间值并创建AlarmManager实例,其开始时间计算为当前时间与EditText中写入的任何用户之间的差异。最好使用TimePicker来避免解析用户的输入。为您添加接收器AlarmManager,接收器将启动服务,该服务将显示对话框或执行您想要的任何操作。您需要使用AlarmManager,因为如果您的设备处于休眠状态,除了像AlarmManager这样的系统调用之外,什么都不会将其唤醒。 @Zortkun的帖子带有链接,可以帮助你弄清楚如何管理AlarmManager。
答案 3 :(得分:0)
您可以使用以下命令从EditText中提取数据:
findViewById(R.id.yourEditText).getText().toString();
你的其余问题我不明白。
答案 4 :(得分:0)
RAW WAY!
因此,当用户将文本放在edittext中并单击按钮时,您可以这样保存文本:
String time = findViewById(R.id.yourEditText).getText().toString();
并启动一个检查时间的线程,当时间等于用户的字符串时间时,您可以显示一个对话框:)
Thread t = new Thread(new Runnable(){
public void run(){
while(new Date().getLocalTime()!=usersTime){ // is just pseudocode
Dialog.show();
}
}
});
答案 5 :(得分:0)
我会试着理解......
看到你知道如何从EditText中提取文本,你需要一个if语句。
将该时间与当前时间进行比较的东西。
if (editTime == realTime) {
Toast.makeText(getApplicationContext(), "RING RING RING",
Toast.LENGTH_SHORT).show();
}
使用类似的东西:
Read this to figure out how to get a string of current time.