在Android应用中屏幕录制时阻止录音

时间:2017-10-03 08:19:26

标签: android security audio video video-capture

我正在开发一个安全的应用程序,我限制另一个应用程序记录我的应用程序(如视频)的时刻。

我认为我已经限制了我的应用程序的屏幕截图(屏幕截图和视频录制)here,但我无法限制应用程序视频的音频。

   @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
    setContentView(R.layout.activity_main);
    playVideo();
    //callAPI();
}

屏幕截图后,我无法看到视频(显示黑屏),但我可以听到音频。

请帮我摆脱这个。

提前致谢

2 个答案:

答案 0 :(得分:0)

在活动中使用SECURE FLAG。 安全标志防止屏幕录制捕获等。

super.onCreate(savedInstanceState); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE);

答案 1 :(得分:0)

您必须首先检测到录制开始

您可以注册显示监听器

实现

 val displayManager = getSystemService(Context.DISPLAY_SERVICE) as? DisplayManager
        displayManager?.registerDisplayListener(listener, null)
       

    val listener = object : DisplayManager.DisplayListener {
        override fun onDisplayChanged(displayId: Int) {
            
        }

        override fun onDisplayAdded(displayId: Int) {
            
            // here stop video player 
        }

        override fun onDisplayRemoved(displayId: Int) {
          
        }
    }

FLAG_SECURE 将使屏幕录像记录为空白屏幕

提示:只有在活动处于前景

时开始记录时,这种方式才有效