0

TTS を継続的に使用するアプリがあります。開始したら、質問と回答を作成し続ける必要があります。ただし、回答が得られるまで、ある程度の時間待ちたいと思います。

現在、私はこれを使用しています

public void WaitSeconds(int seconds) {
    long time0, time1, diff;
        time0 = System.currentTimeMillis();
    do{
        time1 = System.currentTimeMillis();
        diff = time1 - time0;
    }
    while (diff < seconds * 1000);
    }

ただし、これは電話がスリープ状態になるまでしか機能しません。その後、秒が 3 以下に設定されている場合は動作し続けます。それ以外の場合は、明らかにランダムな時間待機し始めます。答えは、10 秒後または 1 分後に予測できない方法で返される可能性があります (少なくとも私には)。任意のボタンを押すと、アプリが「起動」して答えを発しますが、ユーザー入力なしでそれを実行する必要があります。

編集 –––––––––––––––––––––</p>

提案されているように、WakeLock を使用しようとしていますが、機能していないようです。

  PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "TTS Wake Lock");
    mWakeLock.acquire();

エラー メッセージは次のとおりです。私の場合、何も解決しませんでした。

4

1 に答える 1

0

電話がオフのときに実行する必要がある場合は、ウェイクロックを使用する必要があります。これにより、電話の電源を入れたままにすることができます (画面をオンのままにするか、電源を切っても実行し続けることができます)。

于 2012-11-16T03:56:23.103 に答える