2011-01-13 2 views
0

この質問はとても簡単に聞こえます。情報が見つからないとは思えません。 )Android:アプリが起動している間に電話がスリープ状態になる前に変更を遅らせる

私のアプリの実行中に電話がスリープ状態になる前に、遅延を変更する方法を探しています。

今まで私のアプリが頻繁に閉じられないように(私のアプリはOpenGLアプリで、読み込み時間は特に遅い電話ではキラーです)、私は目覚ましロックを使用していました。 私は、電話を常時放置しておくという考えが好きではありません(主に、電池を急速に空にして完全にOpenGLアプリを稼働させるためです)。

電話がスリープ状態になるまでの遅延を2〜3分に変更する方法はありますか?用語「寝るアプリケーション」を修正するために編集した私も、私は携帯電話の設定を変更したくないことを追加したいと思います

(つまりユーザーのみ決定です)

ジェイソン

それは間違っていると指摘された。

+0

これはユーザーが(システム設定で)決定するためのものです。何時でも、n分後にウェイクロックを解除することを検討できますが、ユーザー設定をオーバーライドしてもよろしいですか? – EboMike

+0

いいえ、私の意見を書いてください。残念ながら、私の上司はこれを長い間トードリストに戻しています(それを無視し続けることはできません) –

+0

あなたの質問は意味をなさないアプリはいつまでも "眠る"ことはありません。電話機がスリープ状態になる可能性があります。ユーザーが別のアクティビティーを開くと、アクティビティーを一時停止してバックグラウンドに入れることができます。アクティビティがバックグラウンドにある場合、Android OSはリソースを必要とする場合にそれを殺すことを決定するかもしれませんが、それを防ぐために行うことはできません。あなたは何を達成しようとしていますか? –

答えて

2

タイマータスクでオブジェクトとrelease()ウェイクロックを作成します。私は、あなたがワーカースレッドでロックを解除することができると確信していますが、最悪の場合、私が間違っている場合はrunOnUiThreadを使用する必要があります。

onPause()が呼び出されたときには、必ず対処してください。その場合は、タイマーをキャンセルしてすぐにロックを解除してください。

一般的に、私は目覚ましロックのファンではありませんが、これがあなたの上司を幸せにするなら、目を覚ましてください。

EDIT:Btw、UIタイムアウトのシステム設定は、アプリでアクセス可能です。SCREEN_OFF_TIMEOUTandroid.provider.Settings.Systemです。しかし、実際これはプライベートアプリケーションのみであり、パブリックアプリケーションはこの値を変更するビジネスはありません。

+0

毎回タイマーがリセットされるようですユーザーは画面とやりとりします。また、これを行う場合は、ユーザーが時間を設定する方法を提供するか、またはウォークロックを完全にオフにする必要があります。 –

+0

ええ、私は細かい詳細をジェイソンに任せます。それが頭に浮かぶ最初のことです。私はまだそれがひどいUIのハックだと思う(Androidはこれに対応するシステムを持っている!)が、それは私的なアプリケーションのためのものだから、彼らは彼らが望むすべてをハックすることができる。 – EboMike

関連する問題