0

Android用に書いた簡単なバッテリーテストアプリがあり、いくつかのバージョンで正常に使用されています。Android 4.1 では問題なく動作します。このアプリは、Chrome ブラウザを起動して別の Web サイトを表示し、時間をデータベースに記録し、60 秒待って、最初からやり直すだけです。

現在、Android 4.2 では、ウェイクロックがあり、設定を使用しないように画面のタイムアウトを設定しているにもかかわらず、画面がオフになり、システムがスリープ状態になります。最も厄介なのは、テスト開始後の一定時間ではなく、不確定な時間にオフになることです。私が何をする必要があるか分かりますか?

ブラウザを何度も起動するサービスで呼び出すウェイクロック コードを次に示します。

    super.onCreate();
    // Wakelock
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag");
    wl.acquire();

これもレイアウトファイルに入れます

android:keepScreenOn="true"

ただし、Chrome は常にフォアグラウンド ウィンドウであり、ブラウザー ランチャーはサービスであり、ウェイクロックはサービス内にあるため、アプリの画面自体はテスト全体で表示されません。

画面がタイムアウトしないようにする方法はありますか?何も機能していないようです。

4

2 に答える 2

2

次の行を XML ファイルに追加するだけです......

android:keepScreenOn="true"

:)

于 2013-01-22T18:30:53.927 に答える
0

Androidがサービスを強制終了し、ウェイクロックが解放されていると思います。サービスをフォアグラウンドで実行してみて(startForeground()を使用)、それが役立つかどうかを確認してください。

于 2012-11-24T23:08:48.530 に答える