mHandler.postDelayed(new Runnable() {
@Override
public void run() {
mHandler.removeCallbacksAndMessages(null);
}
}, 500);
mHandler.removeCallbacksAndMessages(null); 用来移除所有消息,
但是用handler.postdelayed 无效,
是用TimerTask 或者 Thread 来控制时 是可以生效的。
请问因为什么原因导致无效的呢?
removeCallbacksAndMessages(null) の機能は何ですか?
パラメータが null の場合、すべてのコールバックとメッセージがクリアされます。
ソース コードを見ています。Message のコンストラクターは空であり、0 です。まだ実行されていないため、削除されます。
すみません、なぜ無効なのでしょうか?
mHandler.removeCallbacksAndMessages(null);
が実行されていないためですか?500 遅延後に自分の実行可能ファイルを削除するのは少し奇妙に感じます。
リーリーこれを試すことができます