2011-10-23 11 views

答えて

3

handler.postDelayed(runnable, delayedms);

これは方法の一つである使用、あなたもAlaramManagerを使用することができます。

AlaramManagerでは、アクティビティをアクティブにする必要はありません。ハンドラが必要です。

+0

Handlerを使用して、アクティビティがアクティブであることを確認する方法を教えてください。 AlarmManagerでは、正しいコンテキスト(現在のアクティブなアクティビティ)に接続してダイアログを表示するにはどうすればいいですか? – orip

+0

あなたのactivity onPause()メソッドでhandler.removeCallbacks(runnable)を使用すると、アクティビティのフォーカスが外れたときにスケジュールされた操作が削除されます。アラームマネージャーに関する限り、通知の種類やバックグラウンドプロセスを行うために使用されます。ダイアログボックスを表示する目的ではありません。 –

+0

+1、ありがとう! onPauseを呼び出さずに自分のアクティビティを強制終了できますが、ハンドラはまだアクティブですか? – orip

0

私は考えました:既存のビューにダイアログを付けるのではなく、<activity android:theme="@android:style/Theme.Translucent.NoTitleBar"here)という透明なビューを作成し、ダイアログを作成させることができます。

私は遅延インテントでこのアクティビティを作成できるので、これはいいことです。

ダイアログが閉じられたときにfinish()に電話する必要があります。

元のアクティビティがまだ有効な場合にのみ、これをどう処理するかはわかりません。

+0

@android:style/Theme.Dialogを使わないのはなぜですか? –

関連する問題