我有一个按钮(“检查”),它开始倒计时,当到达零时,手机振动。再次按下“检查”将关闭振动,并且过程重新开始。随时按下“提醒”将短信发送至预先指定的号码。这是我的代码,到目前为止,它的工作正常。但我想连接这些功能,以便振动一旦开始,用户有十秒钟时间点击“检查”并重新启动定时器,否则“警报”功能将开始发送短信。我会怎么做呢?我需要制作另一个倒数计时器吗?到目前为止如果在10秒内没有再次按下按钮,发送警报
“检查” 按钮的代码:
check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
vibe.cancel();
if (countDownTimer != null)
countDownTimer.cancel();
countDownTimer = new CountDownTimer(timerTime * 1000, 1000) {
@Override
public void onTick(long milliseconds) {
long minutes = milliseconds/60000;
long seconds = (milliseconds/1000) % 60;
minsLeft.setText(getString(R.string.minutes) + (int) (minutes) + " seconds:" + (int) (seconds));
}
@Override
public void onFinish() {
minsLeft.setText("Are You OK?");
long[] pattern = {100, 1000, 100, 2};
vibe.vibrate(pattern, 1);
}
}.start();
}
});
}
“警报” 按钮的代码(这将被称为如果 “检查” 并没有再次按下):
public void onAlertClick(View view) {
Toast sent = Toast.makeText(getApplicationContext(), "Alert Sent", Toast.LENGTH_SHORT);
Toast permissions = Toast.makeText(getApplicationContext(), "Please change app permissions in settings", Toast.LENGTH_SHORT);
try {
SmsManager.getDefault().sendTextMessage(getString(R.string.smsNumber), null,
getString(R.string.smsMessage), null, null);
sent.show();
} catch (Exception e) {
permissions.show();
}
}
请仅将android studio标签用于常规编程问题 - 这是关于工具本身的问题。 – EJoshuaS
你已经在这里展示了很多代码,这很好,但你没有太多的解释它的问题。 logcat中有错误吗?有没有像你期望的那样发生?你期望什么?如果你在这里提供更多的细节,你可能会吸引更多(和更好的)答案。 – HPierce
@HPierce(和EJoshuaS)我对我的问题和标签做了一些修改。我不确定我可以做得更具体,因为我不知道从哪里开始。然而,我已经做了一些修改来澄清我的问题。希望有帮助。 –