問題タブ [postdelayed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2739 参照

android - SMSの送信を遅らせる ANDROID

現在、データベースにある 300 以上の番号に一括 SMS を送信するアプリをコーディングしようとしています。

それらをすべて一度に送信すると、アプリが強制的に閉じられ、27/308 のようにしか送信できなかったという問題に直面しています。

for ループを使用して SMS を送信しています。

これは、次のステップに進む前に for ループを 1 ~ 2 秒遅らせることができるこの問題の修正ですか?

現在、私はこのコードを試しましたが、20 秒間しかスリープせず、ステップごとに 20 秒ではなく、一度にすべてのステップを実行します。sendSms メソッドをコメントアウトし、println(); でテストしました。

どんな助けでも大歓迎です。

0 投票する
2 に答える
2744 参照

android - Runnable の実行速度が予想よりも遅い

以下のコードに示すように、Android アプリでランナブルを使用してカウントダウン タイマーを更新しています。動作しているように見えますが、タイマーが予想より数秒長くかかることに気付きました。たとえば、3 分間カウントダウンすることになっている場合、3 分 5 秒かかります。メインアクティビティのカウントダウン表示を管理するサービスでタイマーを使ってみました。タイマー/サービスは期待どおりに機能しました。

runnable/postDelayed()が正しい時間実行されないのはなぜですか? postDelayed()タイミングは信頼できますか?はrunnable変数をデクリメントし、それを使用して with を更新EditTextsetText()ます。時間がsetText()かかりすぎる (ほんの一瞬) ため、runnable実際に 1.x 秒ごとに実行されますか?

0 投票する
4 に答える
4789 参照

android - handler.postDelayed 対 AlarmManager 対

アプリの 1 つに小さな問題があります。を使用しBroadCastReceiverて通話が終了したことを検出し、いくつかの簡単なハウスキーピング タスクを実行します。ユーザーが一部のデータを表示できるようにし、通話ログが更新されたことを確認するために、これらは数秒間遅延する必要があります。私は現在handler.postDelayed()、この目的のために使用しています:

}

ここで、このセットアップが約 90% の確率で機能するという問題があります。約 10% のケースで、通知は削除されません。メッセージキューがメッセージ/ランナブルを処理する前に、スレッドが死んでいると思われます。

私は現在、代替案を考えていますpostDelayed()が、私の選択肢の 1 つは明らかに AlarmManager です。ただし、パフォーマンスへの影響 (または使用するリソース) についてはわかりません。

おそらく、スレッドが終了する前にすべてのメッセージが処理されたことを確認するより良い方法や、これら 2 ビットのコードの実行を遅らせる別の方法があるでしょう。

ありがとうございました

0 投票する
4 に答える
27324 参照

java - AndroidのJavaで2秒ごとに関数を実行する方法は?

Android プログラムで Java コードのチャンクを 2 秒ごとに実行しようとしています。私のコードは現在次のようになっています。

残念ながら、これは 2 秒後に 1 回だけ実行され、その後は実行されません。2秒ごとに実行するにはどうすればよいですか?

ご協力いただきありがとうございます。

0 投票する
1 に答える
2497 参照

java - postdelayed ハンドラー/ランナブルでの一時停止/待機をキャンセルし、一時停止したコードを引き続きアクティブにする

セットアップ: postdelayed ハンドラーを使用して、さらに 2 つのネストされた postdelay で一時停止する 4 段階のアクティビティがあります。

タイムライン:

stage1 |コードファイア| stage2 |コードファイア| stage3 |コードファイア| ステージ4

ステージ 1: 非アクティブ化、カスタム アラート ダイアログのみを表示

ステージ 2: カウントダウン タイマーを含む、ユーザー向けのビジュアルで非アクティブ化 (ほとんど)

ステージ 3: 2 番目のカウントダウン タイマーで非アクティブ化

ステージ 4: ユーザー インタラクション、カウントダウンや追加の一時停止なし

ユーザーがボタンを押すだけでstage2の最後までスキップできるようにしたい.

両方とそれぞれを個別にキャンセルしようとしましたが、成功しませんでした。使用したコマンドは次のとおりです。

try/catch、または検索でスレッドを使用することへの参照を見ましたが、使用方法や適切かどうかはわかりません。

ご意見ありがとうございます。

**動作しないコードの参照用に編集: * 関連のないもののほとんどをカットしました。追加

0 投票する
2 に答える
807 参照

android - 遅延通話中のプログレスバーの増加

次のような遅延通話があります。

ただし、完全に機能するプログレスバーがあり、遅延が経過するたびに増加させたいと考えています。では、この問題に対するアプローチは何ですか?これを実装する方法はありますか?

あなたが答えて私を助けるのにかかる時間を感謝します


そのため、回答から何が可能かを調べた後、実行可能を実装する独自のクラスを作成しました。これはこれを実装する可能な方法ですか?私の勘がぐちゃぐちゃになっていないとしたら、ちょっと間違っていると思います。

0 投票する
1 に答える
227 参照

java - ユーザー文字列を timer.postDelayed にプルする方法

ユーザー文字列を Handler timer.postDelayed に取り込むにはどうすればよいですか?

0 投票する
3 に答える
7879 参照

android - postDelayed を使用して特定の時間にタスクを実行する

特定の時間にタスクを開始したい。そのために、次のように使用runnableしてpostDelayedメソッドを作成します。

私のコードでは、次のように使用mLunchTaskします。

次のようにmyDelay計算されます。

およびはユーザーが設定しますdesiredHourdesiredMinute期待されるのは、およびおよび 0 秒でMY TASK開始することです。ただし、「MY TASK は数秒遅れて開始されますが、これはランダムに見えます。desiredHourdesiredMinute

上記のコードに基づいて、正確な時間に開始されない理由はありますか?

ありがとう

0 投票する
1 に答える
2153 参照

java - Handler.removeCallbacks() はコールバックを削除しません - なぜですか?

次の LogCat トレースを考えると、Handler.removeCallbacks()が (経由でMyListener.cancelTimeout())明らかに の前に呼び出されていることがわかりmyTask.run()ます。

この謎を説明できるものは何でしょうか?

ログの正確なタイムスタンプに注意してください。まったく同じ Runnable オブジェクト (myTask@461cc378) が、postDelayed() からちょうど 0.01 秒に removeCallbacks() されています。そして、2.01秒後、run()...

これを説明できるものは何ですか?

たとえば、0.01 秒は Android が順序を把握するには短すぎますか?

これをデバッグするためのアイデアは大歓迎です。

0 投票する
2 に答える
804 参照

java - Java (Android) でプログラムの実行を遅らせるためのベスト プラクティス

Android用のクイズアプリを作っています。

ユーザーは 30 秒間で、できるだけ多くの質問に答えることができます。

ユーザーが問題を正しく理解したかどうかを確認できるように、問題の間に実行時間の小さなギャップを作成します。

30 秒が経過すると、ユーザーは結果画面にリダイレクトされるはずです。ただし、その待機時間中に 30 秒が経過すると、ユーザーは一瞬結果画面に移動し、次の質問にリダイレクトされるだけです。30 秒が経過したら、その待機時間を無効にするにはどうすればよいですか?

簡単な答えになるはずですが、スレッド/実行の操作方法がわかりません。

ありがとう