在Android游戏期间保持屏幕开启,无需用户交互

时间:2013-03-06 19:47:01

标签: android mobile libgdx

我正在使用Libgdx进行我的安卓游戏。游戏运行正常,但如果没有来自用户的交互,它将在运行时自动暂停。如何避免游戏暂停?

我的主要课程感知AndroidApplication和我的游戏类实现了ApplicationListener

3 个答案:

答案 0 :(得分:7)

虽然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);
}

答案 1 :(得分:1)

PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "GLGame");
wakeLock.acquire();

你必须将权限wakelock放入清单

当你使用wakeLock完成它时

wakeLock.release();

更安全的方法是对活动中的某些View使用setKeepScreenOn()或android:keepScreenOn。您不需要WAKE_LOCK权限,并且您无法通过未能释放它来轻易搞砸。只要保持屏幕上的视图不再位于前台,设备行为就会恢复正常。

答案 2 :(得分:0)

更好更轻松的方式,无需担心发布任何事情

只需在AndroidLauncher.java文件中复制此代码

即可
  

@Override protected void createWakeLock(boolean use){use = true;   super.createWakeLock(使用); }

了解更多信息,请参阅enter link description here