我所有的代码都在计时器中,每 2 秒计时一次
我有 3 个不同的时间
1) 来自时间选择器( sTime
) 的时间。
2)获取我手机的当前时间(cTime
)。
3) Expiry Time - (用于在时间选择器的时间和到期时间之间创建范围)(rTime
)。
我想在等于或之后使我的手机静音,并在cTime
等于或之后将sTime
我的手机配置文件恢复正常cTime
rTime
但我无法做到这一点。我已经完成了编码,我认为逻辑很好,但为什么它不起作用。请在这方面帮助我。
这是我的代码
AudioManager am;
am = (AudioManager) getBaseContext().getSystemService(Context.AUDIO_SERVICE);
try {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String savedTime = sHour + ":" + sMin;
Date sTime = sdf.parse(savedTime);
Calendar c = Calendar.getInstance();
int currentHour = c.get(Calendar.HOUR);
int currentMin = c.get(Calendar.MINUTE);
String currentTime = currentHour + ":" + currentMin;
Date cTime = sdf.parse(currentTime);
int rangeHour = sHour;
int rangeMin = sMin + 1;
Date rTime = sdf.parse(rangeHour + ":" + rangeMin);
if (cTime.after(sTime)) {
am.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
Log.e("res", "Silent Mode Timing");
}
if (cTime.after(rTime)) {
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
Log.e("res", "Normal Mode Timing");
}
} catch (Exception ex) {
Log.e("res", ex.toString());
}