私はゼロに達すると電話機が振動するカウントダウンを開始するボタン(「チェック」)を持っています。もう一度「チェック」を押すと、振動がオフになり、処理がやり直されます。いつでも「アラート」を押すと、あらかじめ指定された番号にSMSが送信されます。それは今までの私のコードで、それまではうまくいきました。しかし、これらの機能を接続して、振動が始まると、ユーザーは「チェック」をタップしてタイマーを再起動し、そうでなければ「警告」機能が始まり、SMSを送信するように10秒間待ちます。私はこれについてどうやって行くのですか?別のカウントダウンタイマーを作る必要はありますか?これまでボタンが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();
}
}
一般的なプログラミングに関する質問にはアンドロイドスタジオタグを使用してください。ツール自体についての質問です。 – EJoshuaS
あなたはここにたくさんのコードを示していますが、それはいいですが、問題を説明することはあまりありません。 logcatにエラーはありますか?あなたが期待しているようなことは起こっていませんか?あなたは何を期待しましたか?ここで詳細を述べると、より多くの(そしてより良い)回答が得られる可能性が高くなります。 – HPierce
@HPierce(とEJoshuaS)私は質問とタグをいくつか変更しました。私はこれをあまりにも明確にすることができないのかどうかはわかりません。私は、しかし、私の質問を明確にするためにいくつかの変更を加えました。うまくいけば助けてくれます。 –