我正在尝试创建Unity Android插件,以便在运行应用时阻止屏幕截图。我读了以下内容。
How do I prevent Android taking a screenshot when my app goes to the background?
根据我的阅读,我需要在Activity onCreate处理程序中调用以下内容....
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
但是我无法让它发挥作用。我尝试过扩展UnityPlayerActivity,UnityPlayerNativeActivity,甚至是android.app.NativeActivity。我已经验证插件本身工作正常(我能够调用插件中的其他函数)并且onCreate方法正在执行。
我已尝试在onCreate中的多个位置设置标志,例如setContentView(mUnityPlayer)之前和/或之后,但它永远不会有效。
我在HTC One m8上进行测试。谁知道问题可能是什么?
答案 0 :(得分:1)
将它放在你的onCreate()方法中:
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
问题可能是你的参考,当我测试它时,这个工作正常:
public class FlagSecureTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(LayoutParams.FLAG_SECURE,
LayoutParams.FLAG_SECURE);
setContentView(R.layout.main);
}
}