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();
エラー メッセージは次のとおりです。私の場合、何も解決しませんでした。