我想让该应用在上午10点自动播放音乐,并在晚上10点停止播放音乐。但是,当我启动该应用程序并等到上午10点音乐无法播放时,我必须重新启动该应用程序,然后音乐才能播放,但是当晚上10点时音乐会自动停止。你们知道哪里出问题了吗?
预先感谢
这是我的代码:
Thread t = new Thread(){
@Override
public void run() {
try {
while (!isInterrupted()){
Thread.sleep(1000);
runOnUiThread(new Runnable() {
@Override
public void run() {
long date = System.currentTimeMillis();
SimpleDateFormat adf = new SimpleDateFormat("HH");
String dataString = adf.format(date);
int dateNow = Integer.parseInt(dataString);
if(dateNow>9 && dateNow<22){
mySong.start();
}else {
mySong.stop();
}
}
});
}
} catch (InterruptedException e){
}
}
};
t.start();
答案 0 :(得分:0)
该错误出在long date = System.currentTimeMillis()
中,因为它给了我quote我当前时间与1970年1月1日午夜之间以毫秒为单位的差异。
要获取当前时间,您可能需要改用以下代码
DateFormat dateFormat = new SimpleDateFormat("HH");
Calendar cal = Calendar.getInstance();
int hour = Integer.parseInt(dateFormat.format(cal.getTime()));