Prevent audience to take screenshots or recording from Zoom Meeting in React Native and React.js

We are using meeting sdk in our elearning app. We want to prevent students from screen recording or screenshots of the lectures.

We have our mobile app in React Native and web app in React.js.

@DInMinds Hope you will be fine.

Currently, there is any way to prevent Taking Screenshots/Screen Recordings. That is totally DRM (Digital Rights Management) work. Currently not supported by Zoom Meetings.

2 Likes

Thank You @freelancer.nak for revert.

We are using “react-native-zoom-us - npm” package for react native and Zoom web sdk for React.js. We want to disable android phone/desktop screen capture, is it possible to do anything from our end.

Hey,
If you’re struggling to Prevent users from taking screenshots or screen recording during a Zoom meeting using the Zoom Meeting SDK in React Native, I’ve got a working solution for you.

I faced the same issue, and after a lot of trial and error, I was able to solve it by adding the following code to my MainApplication.kt file in the onCreate() method (just after super.onCreate()):
//imports
import android.app.Activity
import android.os.Bundle
import android.view.WindowManager

// Start--------------------
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
val name = activity.javaClass.simpleName

    // Apply FLAG_SECURE to block screenshots and screen recording
    if (name == "ZmConfActivity") {
        activity.window.setFlags(
            WindowManager.LayoutParams.FLAG_SECURE,
            WindowManager.LayoutParams.FLAG_SECURE
        )
    }
}
override fun onActivityStarted(activity: Activity) {}
override fun onActivityResumed(activity: Activity) {}
override fun onActivityPaused(activity: Activity) {}
override fun onActivityStopped(activity: Activity) {}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
override fun onActivityDestroyed(activity: Activity) {}

})
End--------------------

This ensures that only Zoom’s in-meeting screen (ZmConfActivity) is protected, while the rest of your app functions normally.