3

Android ゲームに Libgdx を使用しています。ゲームは正常に実行されますが、ユーザーからの操作がない場合、実行中に自動的に一時停止します。ゲームの一時停止を回避するにはどうすればよいですか?

私のメイン クラスは impelmentsAndroidApplicationで、私のゲーム クラスはApplicationListener.

4

3 に答える 3

8

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);
}
于 2013-03-06T20:25:18.873 に答える
1
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 パーミッションは必要ありません。また、解放に失敗して簡単に台無しにすることはできません。画面をオンに保つビューが前面に表示されなくなるとすぐに、デバイスの動作は通常に戻ります。

于 2013-03-06T19:50:11.663 に答える