我将使用Java和LibGdx制作一款游戏。
这是一个有时间限制的技巧游戏,问题在于玩家可以按Home键暂停应用程序,并进入任务管理器,可以查看应用程序的预览以寻找他需要找到的内容而不计时。 我希望当玩家按下主页按钮暂停时,能够隐藏应用程序的预览。
这是一个有时间限制的技巧游戏,问题在于玩家可以按Home键暂停应用程序,并进入任务管理器,可以查看应用程序的预览以寻找他需要找到的内容而不计时。 我希望当玩家按下主页按钮暂停时,能够隐藏应用程序的预览。
我的尝试
我重写了暂停和恢复处理程序。
@Override
public void pause() {
Gdx.app.log("LibGDX", "pause");
state = State.PAUSE;
Gdx.graphics.setContinuousRendering(false);
Gdx.graphics.requestRendering();
}
@Override
public void resume() {
Gdx.app.log("LibGDX", "resume");
state = State.RUN;
Gdx.graphics.setContinuousRendering(true);
}
这是我的public void render(float)
函数的主要部分。
switch (state)
{
case RUN:
// game
break;
case PAUSE:
// a black rectangle on screen
shapeRenderer.setProjectionMatrix(camera.combined);
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.setColor(Color.BLACK);
shapeRenderer.rect(0, 0, GameScreen.WIDTH, GameScreen.HEIGHT);
shapeRenderer.end();
break;
default:
break;
}
日志告诉我暂停和恢复确实被调用了
但在任务管理器中,我仍然看到游戏而不是黑色矩形
更新1
回答Ridcully:
我尝试了你建议的方法
package com.mygdx.game;
import android.os.Bundle;
import android.view.WindowManager;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
public class AndroidLauncher extends AndroidApplication {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
// --
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
// --
initialize(new MyGame(), config);
}
}
但是同样的问题,我仍然看到了截图
我使用的是Android Studio 2.1 我的手机是Oneplus One 运行的是Android 6.0.1
你有什么想法吗?谢谢