我正在使用Libgdx进行我的安卓游戏。游戏运行正常,但如果没有来自用户的交互,它将在运行时自动暂停。如何避免游戏暂停?
我的主要课程感知AndroidApplication
和我的游戏类实现了ApplicationListener
。
答案 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