Android ゲームに Libgdx を使用しています。ゲームは正常に実行されますが、ユーザーからの操作がない場合、実行中に自動的に一時停止します。ゲームの一時停止を回避するにはどうすればよいですか?
私のメイン クラスは impelmentsAndroidApplication
で、私のゲーム クラスはApplicationListener
.
JRowan の回答は一般的な Android アプリケーションに適しており、Libgdx で使用できますが、Libgdx サポートを使用してウェイクロックを取得することもできます。を参照useWakelock
してくださいAndroidApplicationConfiguration
。Libgdx はウェイクロックを追跡します。ただし、マニフェストには適切な権限が必要です。
具体的には、拡張するクラスでAndroidApplication
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useWakelock = true;
initialize(new MyGdxGame(), cfg);
}
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "GLGame");
wakeLock.acquire();
マニフェストに許可ウェイクロックを配置する必要があります
そして、wakeLock を使い終わったら、それを解放します
wakeLock.release();
また
より安全な方法は、アクティビティの一部の View に setKeepScreenOn() または android:keepScreenOn を使用することです。WAKE_LOCK パーミッションは必要ありません。また、解放に失敗して簡単に台無しにすることはできません。画面をオンに保つビューが前面に表示されなくなるとすぐに、デバイスの動作は通常に戻ります。