0

ボタンを使用せずにアラームをキャンセルしたり、onClickで呼び出したりすることに関するスレッドを見たことがありません。私はこの質問をすることにしました。また、別のアラームを設定した場合にそれを読んだので、異なるトリガー時間でアラームを同時に割り当てまたは呼び出すことに関する質問も含めたいと思います(相互に多少関連しているため)。 、前のアラームを停止するだけです。しかし、私はそれを望んでいません。異なるトリガー時間でアラームを割り当てています。私の主な質問については、どのようにして自動的に停止/キャンセルするのですか、つまり5分間、またはすでに3回繰り返された場合、自動的にアラームを停止します.

4

2 に答える 2

1

誰も私の主張を完全に理解していなかったので、いくつかの簡単な微調整を行ったところ、私の論理がかなりずれていることがわかりました。私がしたことは、スヌーズと解除機能を実装することでした。異なるトリガー時間でアラームを同時に起動する場合は、別requestCodeの forを定式化する必要setRepeating()があり、set()<--このメソッドを使用する場合は、requestCode が使用されますアラームを起動するために使用したインテントの同じ署名とともに、起動された正しいアラームをキャンセルします。

于 2012-09-20T15:10:00.130 に答える
0

あなたは正しい考えを持っています、これは私の意見ではスレッドを使用して行われると思われます。しかし、私は自分の経験に基づいて(誰かがより良い答えを与えるまで)迅速な回避策を持っています。多分あなたはそれを取り除くことができます。

私はクロノメーターを持っています(ユーザーに見られたくない場合にそれを隠す方法があります)

    Chrono = (Chronometer) findViewById(R.id.chronometer1);  //Defines chronometer in layout
            Chrono.start();                                  //Starts Chronometer
            while (!(Chrono.equals(chronoText))) {           /*starts a timer, until it reaches the desired time */
                chronoText = Chrono.getText().toString();    //gets chronometer time and displays it as a string
                if (chronoText.equals("05:00")) {  /*compares if the string is the same as your set time( i put in 5min as an example)*/
                     counter++;  //I explain the counter a outside the block   
                                 //right here is where you will call your method that stops alarm.
                    startActivity(intent);
                }

            }

アラームを繰り返す場合は、ループを作成します。次に、そこにスローしたカウンターをチェックして、プロセスが繰り返された回数を確認できます。

于 2012-09-19T15:10:57.797 に答える